Как отключить долгое касание в UIWebView? - PullRequest
23 голосов
/ 30 ноября 2010

Я хочу отключить долгое касание из приложения.У меня нет контроля над HTML, который я загружаю в свой WebView.

Ответы [ 3 ]

53 голосов
/ 05 апреля 2011

В webViewDidFinishLoad делегате я запускаю javascript на загруженной html-странице, которая отключает длинное касание.

[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"];
1 голос
/ 04 апреля 2011

Вы можете попробовать переопределить следующие методы из контроллера представления:

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

таким образом вы можете заменить обычное управление касаниями своей собственной реализацией.

0 голосов
/ 01 апреля 2011

Откройте ваше представление в Интерфейсном Разработчике, нажмите на веб-представление и затем снимите флажок «Взаимодействие с пользователем включено» в инспекторе атрибутов.

Если вы хотите сделать это в коде, настройте вебсвойство userInteractionEnabled просмотра NO.

...