根据Apple的documentation使用WKWebView可以导致WebView向下滚动,具体取决于在正确设置webView框架之前内容是否加载。如果您加载缓存页面,这一点尤为明显。
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
这似乎是自iOS 9 http://www.openradar.me/22855188以来的一个已知问题
除了openradar报告之外,我找不到任何好的参考,但这仍然是一个很好的解决方案。
希望这可以帮助其他人解决同样的问题。在创建webView
或将其分配给view
时设置框架。
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
// set the frame right away!!!
webView.frame = view.frame
view = webView
}