I would like to know how you can disable UIActionSheets, specifically the Action Sheets being displayed after tapping and holding hyperlinks in a UIWebView. These seem to be ena
The dataDetectorTypes property might be what you are looking for. If you want to disable that action sheet possibility, just insert the code:
webView.dataDetectorTypes = UIDataDetectorTypeNone;
I just found this solution myself. Add this to your CSS:
body {
-webkit-touch-callout: none;
}
To be clear, this disables the action sheet that appears when you hold down a hyperlink.
You can override presentViewController in UINavigationController and do nothing like this.
@implementation CDVInAppBrowserNavigationController : UINavigationController
- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^ __nullable)(void))completion NS_AVAILABLE_IOS(5_0){
//Do nothing.
}
@end
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"];
}
You can also handle this via JavaScript by calling:
document.documentElement.style.webkitTouchCallout = "none";