Wenn ein Benutzer innerhalb von UIWebView lange drückt, gibt es eine Kopie & amp; Popup einfügen Ist es möglich, das System aus dem Popup zu deaktivieren, dann kann der Copy & amp; Einfügen-Funktion, aber immer noch den Benutzer auf Links klicken und auf neue Seiten gehen?
Sie können versuchen, Javascript in das webView zu injizieren. Dieser Code funktioniert auch auf dem iPhone, aber nur wenn die Seite vollständig geladen ist. Ссылка oder Ссылка
Damit es richtig funktioniert, wenn die Seite nur zur Hälfte geladen ist oder noch geladen wird, müssen Sie wahrscheinlich ein ähnliches Setup verwenden, bei dem Sie das deaktivierende Javascript genauso injizieren, wie es die Auswahl starten würde. Ссылка
UIWebView ohne Kopieren / Einfügen und Auswahlrechteck wenn Dokumente zeigen
Für jeden, der auf der HTML-Ebene arbeiten kann, ist die JavaScript-Lösung der Weg (extrahieren Sie den JavaScript-Teil von hier [1]).
Für Entwickler, die die HTML-Seiten nicht ändern können, funktioniert [1] Lösung für 99% der Clients und ist wirklich sauber und sicher.
Aber für die Fälle, in denen das Popup, das erscheint, wenn Sie einen Link lange drücken oder das Kopieren und Einfügen oder das Vergrößerungsglas etc. einfach nie sein soll, dann kommt hier meine Arbeitslösung. (Die Fälle, in denen die JavaScript-Injektion fehlschlägt, sind solche, bei denen die Seiten ein wenig zum Laden brauchen und der Benutzer lange Zeit auf einen Link drückt).
Um das Problem zu lösen, fügen Sie diese Protokollimplementierung fast überall in Ihrem Code ein (seien Sie nicht faul ... machen Sie eine neue Kategoriedatei). Bitte beachten Sie, dass diese Lösung zumindest im realen Leben gefährlich ist (d. H. Ab iOS 6.0.2), es ist nicht gefährlich. Bitte wissen Sie, welche Kategorien sind und was diese Lösung beinhaltet.
%Vor%[1] Ссылка
Getestet in iOS 5,6,7:
Verstecken Sie das gesamte Kontextmenü mit:
[[UIMenuController sharedMenuController] setMenuVisible: NEIN];
bei Ereignis UIMenuControllerWillShowMenuNotification
Beachten Sie, dass der Wähler nach einer Verzögerung erneut ausgelöst wird. Im Beispiel verwenden sie 0,15 Sekunden. Ich habe .001 benutzt. Das verhindert das Aussehen besser - oder reduziert zumindest die Zeit, die das Menü sichtbar / verfügbar ist.
Tags und Links iphone uiwebview uigesturerecognizer