Question

I want to disable long-touch from the application. I have no control on the HTML that I am loading on my WebView.

Was it helpful?

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
scroll top