如何在UIWebView中禁用长触摸?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在UIWebView中禁用长触摸?相关的知识,希望对你有一定的参考价值。

我想禁用应用程序中的长触摸。我无法控制我在WebView上加载的html

答案

webViewDidFinishLoad委托中,我在加载的html页面上运行了一个禁用长触摸的javascript

[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"];
另一答案

您可以尝试从视图控制器覆盖以下方法:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;

这样您就可以用自己的实现替换常用的触摸管理。

另一答案

在Interface Builder中打开视图,单击Web视图,然后取消选中属性检查器中的“User Interaction Enabled”复选框。

如果要在代码中执行此操作,请将Web视图的userInteractionEnabled属性设置为NO

以上是关于如何在UIWebView中禁用长触摸?的主要内容,如果未能解决你的问题,请参考以下文章

如何禁用 UIWebview 中的放大镜?

将触摸事件从覆盖 UIView 转发到 UIWebView / 如何从代码将触摸事件发送到 uiwebview

在我的应用程序中禁用多指触摸[重复]

如何控制 UIWebView 上的触摸? (苹果手机)

如何在 UIWebView 中禁用 cookie?

如何在 UIWebView 中获取(X,Y)触摸坐标