Comment désactiver toucher longtemps UIWebView?
-
29-09-2019 - |
Question
Je veux désactiver à long contact de l'application. Je ne contrôle pas sur le code HTML que je suis le chargement sur mon WebView.
La solution
Dans délégué webViewDidFinishLoad
je lance un javascript sur la page HTML chargée que de désactiver la touche longue.
[webView stringByEvaluatingJavaScriptFromString:@"document.body.style.webkitTouchCallout='none'; document.body.style.KhtmlUserSelect='none'"];
Autres conseils
Vous pouvez essayer de remplacer les méthodes suivantes du contrôleur de vue:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event;
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event;
cette façon, vous pouvez remplacer la gestion habituelle des touches avec votre propre implémentation.
Ouvrez votre point de vue dans Interface Builder, cliquez sur la vue Web, puis décocher la « Interaction utilisateur DEBLOQUE » case à cocher dans les attributs inspecteur.
Si vous voulez faire dans le code, définissez l'affichage Web est userInteractionEnabled
propriété à NO
.