如何在UIWebView中禁用长触摸?

问题描述 投票:23回答:3

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

uiwebview uiwindow uiwebviewdelegate
3个回答
53
投票

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

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

1
投票

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

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

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


-6
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.