Comment faire pour désactiver la Copier et la Coller dans UIWebView
Lorsqu'un utilisateur de longue appuyez sur à l'intérieur de UIWebView, il existe une Copie & Coller popup. Est-il possible de désactiver le système de popup la Copie & la fonction "Coller", mais encore permettre à l'utilisateur de cliquer sur des liens et goto nouvelles pages?
double possible de Comment désactiver le long de la touche dans UIWebView sur iPad?
double possible de Désactivation de la sélection de l'utilisateur dans UIWebView
double possible de Désactivation de la sélection de l'utilisateur dans UIWebView
OriginalL'auteur ohho | 2011-07-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez essayer d'injecter du code javascript dans la webView. Ce code fonctionne sur l'iPhone aussi, mais uniquement lorsque la page est complètement chargée. http://javascript.internet.com/page-details/disable-text-selection.html ou http://solidlystated.com/scripting/proper-way-to-disable-text-selection-and-highlighting/
Pour qu'il fonctionne correctement lorsque la page n'est que la moitié de chargement ou encore de se charger, vous aurez proably avoir à utiliser une configuration similaire à celui-ci où vous injecter de la désactivation de javascript comme il le ferait pour commencer la sélection. http://www.icab.de/blog/2010/07/11/customize-the-contextual-menu-of-uiwebview/
UIWebView sans Copier/Coller et le rectangle de sélection lors de l'affichage des documents
VagueExplanation j'ai ajouté un lien alternatif
OriginalL'auteur Kyle Howells
Essayer cette
OriginalL'auteur Mutawe
j'espère que ce travail pour vous, parce que le travail est pour moi
OriginalL'auteur issam
Pour n'importe qui qui peut fonctionner au niveau de HTML, le JavaScript solution est le chemin à parcourir (extrait de la partie JavaScript à partir d'ici [1]).
Pour les dev qui ne peuvent pas modifier le code HTML des pages, [1] la solution pour 99% des clients et il est vraiment propre et sûr.
Cependant, pour le cas où la fenêtre qui apparaît lorsque vous appuyez longuement sur un lien ou le copier-coller ou la loupe etc devrait juste jamais, voici venir ma solution de travail. (au cas où le JavaScript injection d'échec sont ceux où les pages se prend un peu pour le chargement et l'utilisateur de longue appuie sur un lien dans le temps).
Pour résoudre le problème, il suffit de coller ce protocole de mise en œuvre de presque n'importe où dans votre code (ne pas être paresseux...faire une nouvelle catégorie de fichier). S'il vous plaît être conscient que cette solution est dangereuse, au moins théoriquement, dans la vraie vie (c'est à dire de l'iOS 6.0.2) il n'est pas dangereux. S'il vous plaît savoir que les catégories sont et ce que cette solution implique.
[1] https://stackoverflow.com/a/5548362/428143
Pré-iOS 9, ce fut une excellente solution! Cependant, avec iOS 9, tout d'un coup, dans mon Application, l'utilisateur ne pouvait pas rejeter UIAlertView et UIAlertController. Il s'avère, sur iOS 9+ la CustomGestureCollisionHandling catégorie interfère avec le geste des modules de reconnaissance utilisé par UIAlertView et UIAlertController. Selon Apple "Attacher les catégories de UIKit classes de remplacer l'implémentation par défaut(s) de méthodes, ou met en œuvre délégué méthodes pour les objets utilisés par les UIKit classe n'est pas pris en charge et sujettes à la rupture d'une version à une autre." Juste un heads-up.
OriginalL'auteur GiovaMaster
Testé dans iOS 5,6,7:
Cacher l'ensemble de menu contextuel avec:
[[UIMenuController sharedMenuController] setMenuVisible:N];
sur l'événement UIMenuControllerWillShowMenuNotification
Exemple
Noter que le sélecteur est tiré de nouveau après un certain délai. Dans l'exemple, ils utilisent de 0,15 secondes. J'ai utilisé .001. Qui empêche l'apparition de mieux - ou au moins de réduire le temps le menu est visible.
OriginalL'auteur BuvinJ
OriginalL'auteur Andy Lee