How to disable long touch in UIWebView?
-
29-09-2019 - |
Question
I want to disable long-touch from the application. I have no control on the HTML that I am loading on my WebView.
Solution
In webViewDidFinishLoad
delegate I run a javascript on the loaded html page that disable the long touch.
[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"];
OTHER TIPS
You could try to override the following methods from the view controller :
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
this way you can replace the usual touches management with your own implementation.
Open your view in Interface Builder, click on the web view and then un-check the "User Interaction Enabled" checkbox in the attributes inspector.
If you want to do it in code, set the web view's userInteractionEnabled
property to NO
.
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow