24

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

4

4 回答 4

53

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

[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"];
于 2011-04-05T07:04:42.070 回答
6

不再支持 UIWebView。因此,您应该实现 WKWebView 并且有一个名为allowedLinkPreview的属性,您可以使用它启用或禁用长触摸预览。

 webView.allowsLinkPreview = false
于 2020-02-09T18:08:03.333 回答
1

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

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

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

于 2011-04-04T13:48:59.320 回答
-6

在 Interface Builder 中打开您的视图,单击 Web 视图,然后在属性检查器中取消选中“启用用户交互”复选框。

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

于 2011-04-01T12:57:06.470 回答