Как отключить долгое касание в UIWebView?
Я хочу отключить долгое касание из приложения. У меня нет контроля над HTML, который я загружаю в свой WebView.
3 ответа
В webViewDidFinishLoad
делегат Я запускаю JavaScript на загруженной HTML-странице, которая отключает длительное касание.
[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"];
UIWebView больше не поддерживается. Итак, вы должны реализовать WKWebView, и есть свойство под названием allowedLinkPreview, с помощью которого вы можете включать или отключать предварительный просмотр при длительном касании.
webView.allowsLinkPreview = false
Вы можете попробовать переопределить следующие методы из контроллера представления:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
таким образом вы можете заменить обычное управление касаниями своей собственной реализацией.
Откройте свое представление в Интерфейсном Разработчике, нажмите на веб-представление и затем снимите флажок "Взаимодействие с пользователем включено" в инспекторе атрибутов.
Если вы хотите сделать это в коде, установите свойство userInteractionEnabled веб-представления в NO
,