为什么我可以在框架设置为 .zero 时看到我的 WKWebView
Why I can see my WKWebView while its frame set to .zero
所以我试图以这种方式加载 webView 而不是故事板
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 window。拜托,也许我没有考虑到一些重要的事情?
与其将 webView 设置为视图控制器的主视图,不如将其添加为子视图
override func loadView() {
let config = WKWebViewConfiguration( )
webView = WKWebView(frame: .zero, configuration : config)
webView.navigationDelegate = self
view = UIView()
view.addSubview(webView)
}
默认情况下,视图控制器的 view
属性 占据完整的高度和宽度。
使用WKWebView
作为视图控制器的根视图是完全没问题的。只是根视图的框架 属性 将被忽略,因为它由父视图控制器或展示控制器决定。
所以我试图以这种方式加载 webView 而不是故事板
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 window。拜托,也许我没有考虑到一些重要的事情?
与其将 webView 设置为视图控制器的主视图,不如将其添加为子视图
override func loadView() {
let config = WKWebViewConfiguration( )
webView = WKWebView(frame: .zero, configuration : config)
webView.navigationDelegate = self
view = UIView()
view.addSubview(webView)
}
默认情况下,视图控制器的 view
属性 占据完整的高度和宽度。
使用WKWebView
作为视图控制器的根视图是完全没问题的。只是根视图的框架 属性 将被忽略,因为它由父视图控制器或展示控制器决定。