Wie zu erkennen, Tippen Sie auf und Tippen Sie doppelt in derselben Zeit mit UITapGestureRecognizer?
Zum Beispiel habe ich eine Ansicht, wo ich will zwei verschiedene gesten:
Tippen Sie auf Aktion-A.
Doppel-Tippen Sie, um zu tun, Aktion B.
Ist das problem mit UITapGestureRecognizer ich kann nur mindestens erforderlich, Tippen Sie auf zu zählen. Die single tap gesture recognizer erkennt, Tippen Sie vor dem double tap gesture recognizer erkennt die Doppel-Tippen.
Beispiel:
_tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapGestureRecognized:)];
_tapGestureRecognizer.numberOfTouchesRequired = 1;
_tapGestureRecognizer.numberOfTapsRequired = 1;
[self addGestureRecognizer:_tapGestureRecognizer];
_doubleTapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doubleTapGestureRecognized:)];
_doubleTapGestureRecognizer.numberOfTouchesRequired = 1;
_doubleTapGestureRecognizer.numberOfTapsRequired = 2;
[self addGestureRecognizer:_doubleTapGestureRecognizer];
Es immer erkennt die einzelnen tap-selbst wenn ich doppelt Tippen sehr schnell. Wie kann ich es so einrichten, Tippen Sie auf die gestik-Erkennung wartet und schaut, ob der double-tap gesture-recognizer erkennt?
Mögliche Lösung und dupliziert: stackoverflow.com/questions/7175086/...
Versuchen Sie, diese zu entfernen, die Verzögerung oder passen Sie es an die, die Sie wollen. stackoverflow.com/a/25368653/3060790
Versuchen Sie, diese zu entfernen, die Verzögerung oder passen Sie es an die, die Sie wollen. stackoverflow.com/a/25368653/3060790
InformationsquelleAutor openfrog | 2013-10-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist, was ich verwendet habe in einem meiner alten Projekte, ich hoffe es hilft Euch aus Mann.
dies Funktioniert aber, für Einzel-Tippen Macht es Verzögerung bei den Aufrufen der Einzelnen Tippen
^^ Hat jemand herausgefunden, eine Lösung für diese Verzögerung?
Für alle, die wie @barfoon, die immer noch die Verzögerung zu stornieren, Tippen Sie doppelt, bitte Lesen Sie diese Lösung durch eladleb : stackoverflow.com/a/23415324/1158074, und verwenden Sie die Unterklasse für die double-tap-Geste, so dass es sendet "Status fehlgeschlagen" schneller.
InformationsquelleAutor Adrian P
Auf swift 3 swift 4:
Die Antwort ist für Swift 3 @Marcos
InformationsquelleAutor pableiros
Erstellen die Geste Merkmale innerhalb jeder Methode, die Sie wollen. Zum Beispiel, wenn Sie möchten, Tippen Sie auf gesten für Ihre headerView in tableView erstellen, diese tap-gesten innerhalb
Ihrer Klasse implementieren sollte UIGestureRecognizerDelegate.
Die oben genannten sind die 2 Methoden, die delegate-Klasse.
InformationsquelleAutor iPhoneDeveloper
Ich eine Lösung gefunden, um die Verzögerung der Einzel-Tippen Sie mit XCode Monkey ' s Antwort. Mit diesem Ansatz können Sie konfigurieren, in mili-Sekunden auf der Schwelle zwischen einem Einzel-und einem Doppel-Tippen. Diese Technik verwendet eine einfache UIButton und einen NSTimer zu unterscheiden zwischen Einzel-und Doppel-Tippen.
Sie müssen entweder halten eine signifikante (0.2), delay-oder anderen double-tap-Erkennung nicht registrieren bevor single tap timer abläuft.
InformationsquelleAutor etayluz