【发布时间】:2017-02-12 03:45:13
【问题描述】:
上下文
我有一个WKWebView,我以编程方式将它嵌入到UIView 中,而这个UIView 嵌入在UIScrollView 中。
可视化:
这是我所做工作的简化版本:
UIScrollView
|
+---- UIView
| |
| +-- UIButton
| |
| +-- UILabel
|
+---- UIView
|
+-- WKWebView
我不希望 WKWebView 滚动,我已通过在页面上注入以下脚本来禁用它。
document.ontouchmove = function(event) { event.preventDefault(); }
问题
目前,当我在WKWebView 内点击时,滚动不起作用。但是,一旦我回到上面的UIView 内,我就可以再次滚动。我在下面附上了发生的事情的 GIF。红色部分是WKWebView,绿色部分是UIView。
我做了什么
-
我已使用
scrollEnabled禁用滚动,但它不起作用,因为我仍然可以滚动WKWebview。webView.scrollView.scrollEnabled = false webView.scrollView.bounces = false -
加载网页后注入以下 javascript(当前解决方案)
document.ontouchmove = function(event) { event.preventDefault(); } 为视图使用静态
UITableViewController,但我还是遇到了同样的问题。
参考资料:
【问题讨论】:
-
我不知道你现在是否已经解决了这个问题,但你不应该使用
webView.scrollView.scrollEnabled = NO(而不是...false)来禁用它吗?还是这只是 UIWebView 的情况?
标签: ios uiscrollview uiwebview webkit wkwebview