WKWebView 添加为子视图
WKWebView add as a subview
从 iOS 8.0+ 开始,我应该使用 WKWebView
,但在 official Apple documentation 中,他们通过将视图设置为 WKWebView 来添加它。出于多种原因,我需要将其添加为子视图。
- 我必须在
WKWebView
上面添加 buttons/labels。
- 我可以通过将
UIView
添加到故事板然后通过代码将其设置为 WKWebView
来添加它,这样看起来比通过代码添加它更整洁。
我的代码:
@IBOutlet weak var container: UIView!
private var wkWebView: WKWebView!
override func loadView() {
let webConfig = WKWebViewConfiguration()
wkWebView = WKWebView(frame: .zero, configuration: webConfig)
wkWebView.uiDelegate = self
}
override func viewDidLoad() {
super.viewDidLoad()
container = wkWebView
let url = URL(string: "https://google.com")
let request = URLRequest(url: url!)
wkWebView.load(request)
}
我试过这个:WKWebView Add to SubView
我也试过 container.addSubview
方法,它因 nil 指针而崩溃。
每次我加载应用程序时,都是黑屏。
有什么想法吗?
您应该只将 WKWebView
的实例添加为给定视图的子视图:
view.addSubview(wkWebView)
您可以设置其框架、为其添加约束等,就像您使用 UIView
.
一样
从 iOS 8.0+ 开始,我应该使用 WKWebView
,但在 official Apple documentation 中,他们通过将视图设置为 WKWebView 来添加它。出于多种原因,我需要将其添加为子视图。
- 我必须在
WKWebView
上面添加 buttons/labels。 - 我可以通过将
UIView
添加到故事板然后通过代码将其设置为WKWebView
来添加它,这样看起来比通过代码添加它更整洁。
我的代码:
@IBOutlet weak var container: UIView!
private var wkWebView: WKWebView!
override func loadView() {
let webConfig = WKWebViewConfiguration()
wkWebView = WKWebView(frame: .zero, configuration: webConfig)
wkWebView.uiDelegate = self
}
override func viewDidLoad() {
super.viewDidLoad()
container = wkWebView
let url = URL(string: "https://google.com")
let request = URLRequest(url: url!)
wkWebView.load(request)
}
我试过这个:WKWebView Add to SubView
我也试过 container.addSubview
方法,它因 nil 指针而崩溃。
每次我加载应用程序时,都是黑屏。
有什么想法吗?
您应该只将 WKWebView
的实例添加为给定视图的子视图:
view.addSubview(wkWebView)
您可以设置其框架、为其添加约束等,就像您使用 UIView
.