如果在加载完成之前未设置框架,则会显示WKWebView并滚动contentOffset

问题描述 投票:1回答:1

根据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以来的一个已知问题

ios wkwebview
1个回答
0
投票

除了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
}
© www.soinside.com 2019 - 2024. All rights reserved.