我想禁用应用程序中的长按。我无法控制我在WebView上加载的HTML。
答案 0 :(得分:53)
在webViewDidFinishLoad
委托中,我在加载的html页面上运行javascript,禁用长按。
[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"];
答案 1 :(得分:4)
不再支持UIWebView。因此,您应该实现WKWebView,并且有一个名为 allowsLinkPreview 的属性,您可以启用或禁用长按预览。
{{1}}
答案 2 :(得分:1)
您可以尝试从视图控制器覆盖以下方法:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
通过这种方式,您可以使用自己的实现替换常用的触摸管理。
答案 3 :(得分:-6)
在Interface Builder中打开您的视图,单击Web视图,然后取消选中属性检查器中的“User Interaction Enabled”复选框。
如果您想在代码中执行此操作,请将网络视图的userInteractionEnabled
属性设置为NO
。