Eine App, die ich entwickle, benötigt eine Drei-Punkt-Wischgeste.
Ich habe das erfolgreich mit UIGestureRecognizer
implementiert und es funktioniert größtenteils gut.
Wenn Sie jedoch die Einstellung Zoom-Zugänglichkeit des Geräts aktivieren (Einstellungen & gt; Allgemein & gt; Zugänglichkeit & gt; Zoom), wird die Erkennung der Geste gestoppt.
Die Zoom-Funktion verwendet verschiedene Drei-Punkt-Gesten zum Bedienen, so dass ich nachvollziehen kann, dass dies meine App-Geste ersetzt.
Weiß jedoch jemand, wie ich feststellen kann, ob die Zoom-Einstellung aktiviert ist (oder die Zoom-Bedienungshilfe ausgeführt wurde), damit ich dem Benutzer wenigstens sagen kann, dass die Geste nicht erkannt wird?
Danke!
Wenn Sie auf iOS 5 ausgerichtet sind, sehen Sie sich UIAccessibilityRegisterGestureConflictWithZoom()
an. Es sagt Ihnen zwar nicht, ob Zoom aktiviert ist, aber es wird Ihren Benutzern mitteilen, wenn ein Konflikt vorliegt.
Ich würde eine if-Anweisung verwenden, um zu prüfen, ob der Benutzer die Zugriffsmöglichkeit aktiviert hat. Wenn dies der Fall ist, mache deine App einen Vier-Finger-Swipe.
%Vor%? Hast du das probiert?
Es gibt eine Option, um herauszufinden, ob Zoom-Set in den UIScrollView-Delegate-Methoden gesetzt ist oder nicht aber Sie können UIPinchGestureREcognizer zusätzlich zum Streichen der Gestenerkennung verwenden. Weitere Informationen finden Sie in der Entwickler-Dokumentation von Apple.
Tags und Links objective-c iphone ios