我正在WKWebView中加载自定义HTML,并在视口中设置属性width=device-width
。在iOS 12上可以完美运行,但是在使用iOS 13(测试版7)滚动时会遇到问题。
尤其是,当使用width=device-width
时,无法滚动Web视图,因此部分内容不可见。只有在用户捏住缩放后才可以这样做,然后神奇地开始可以滚动(水平和垂直)。
我在文档中没有找到有关iOS 13中WKWebView(甚至滚动视图)更改的任何信息,可以证明这一点。我想念什么吗?还是这是iOS 13 / Xcode 11的错误?
答案 0 :(得分:4)
我也遇到了这个问题,因为在主体的样式中添加了“溢出:隐藏”。我删除了“溢出:隐藏”,仅此而已。
答案 1 :(得分:0)
就我而言,在阅读Insert CSS into loaded HTML in UIWebView / WKWebView之后 我尝试这样:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
insertCSSString(into: webView)
}
func insertCSSString(into webView: WKWebView) {
let cssString = "body { overflow: scroll !important }"
let jsString = "var style = document.createElement('style'); style.innerHTML = '\(cssString)'; document.head.appendChild(style);"
webView.evaluateJavaScript(jsString, completionHandler: nil)
}
或者这个:
func insertCSSString(into webView: WKWebView) {
let jsString = "document.querySelectorAll('*[style]').forEach(el => el.style.overflow = 'scroll');"
webView.evaluateJavaScript(jsString, completionHandler: nil)
}
也许有帮助。