所以我试图以这种方式加载webView而不是Storyboard
override func loadView() {
let config = WKWebViewConfiguration( )
webView = WKWebView(frame: .zero, configuration : config)
webView.navigationDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://vk.com")!
webView.load(URLRequest(url: url))
webView.allowsBackForwardNavigationGestures = true
}
显然,webView的帧为零,我应该无法在屏幕上看到任何东西,但是我看到了完整的webView窗口。请也许我没有考虑到重要的事情?
答案 0 :(得分:4)
不是将webView设置为视图控制器的主视图,而是将其添加为子视图
override func loadView() {
let config = WKWebViewConfiguration( )
webView = WKWebView(frame: .zero, configuration : config)
webView.navigationDelegate = self
view = UIView()
view.addSubview(webView)
}
默认情况下,视图控制器的view
属性采用完整的高度和宽度。
答案 1 :(得分:1)
最好将WKWebView
用作视图控制器的根视图。只是根视图的frame属性将被忽略,因为它是由父视图控制器或演示控制器确定的。