Fai*_*tar 5 webkit uiwebview uiscrollview ios wkwebview
我有一个WKWebView我以编程方式嵌入一个UIView,这UIView是嵌入在一个UIScrollView.
想象:
这是我所做的简化版本:
UIScrollView
|
+---- UIView
| |
| +-- UIButton
| |
| +-- UILabel
|
+---- UIView
|
+-- WKWebView
Run Code Online (Sandbox Code Playgroud)
我不希望WKWebView滚动,我通过在页面上注入以下脚本来禁用它.
document.ontouchmove = function(event) { event.preventDefault(); }
Run Code Online (Sandbox Code Playgroud)
目前,当我点击内部时滚动不起作用WKWebView.但是一旦我回到UIView上面,我就可以再次滚动.我在附件中附上了一个GIF.红色部分是WKWebView绿色部分UIView.
我已禁用滚动使用scrollEnabled,它不起作用,因为我仍然可以滚动WKWebview.
webView.scrollView.scrollEnabled = false
webView.scrollView.bounces = false
Run Code Online (Sandbox Code Playgroud)加载网页后注入以下javascript(当前解决方案)
document.ontouchmove = function(event) { event.preventDefault(); }
Run Code Online (Sandbox Code Playgroud)UITableViewController对视图使用静态,但我仍遇到同样的问题.
小智 0
我也遇到过同样的问题。我的解决方法是将内容设置为ScrollView这样:
scrollView.contentInset = UIEdgeInsetsMake(FLT_EPSILON, FLT_EPSILON, FLT_EPSILON, FLT_EPSILON);
Run Code Online (Sandbox Code Playgroud)
看起来有一些优化WKWebview可以防止父母scrollView在其尺寸适合scrollview尺寸时接收手势。即使与 的大小一起设置插图也会FLT_EPSILON产生WkWebView传球手势。
它仅适用于WKWebView内部UIScrollView。当存在UIScrollView其他内部时UIScrollView,不需要此解决方法。
| 归档时间: |
|
| 查看次数: |
2823 次 |
| 最近记录: |