Kann UIPinchGestureRecognizer und UIPanGestureRecognizer Zusammengeführt Werden?
Ich bin kämpfen, ein bisschen versuchen herauszufinden, ob es möglich ist, eine einzige kombinierte Geste-Erkennung, kombiniert UIPinchGestureRecognizer mit UIPanGestureRecognizer.
Ich bin mit Pfanne für anzeigen übersetzung und Prise für Skalierungen. Ich mache inkrementelle matrix Verkettung ableiten daraus resultierende endgültige Transformationsmatrix, die auf die Ansicht angewendet. Diese matrix hat sowohl im Umfang als auch die übersetzung. Die Verwendung von separaten gesture recognizers führt zu einer nervösen Bewegung/skalieren. Nicht das, was ich will. So, ich will Griff Verkettung von Skalierung und translation einmal innerhalb einer einzigen Geste. Kann jemand bitte etwas Licht auf, wie dies zu tun?
- Doug, ich habe aktualisiert mein Antwort mit vollständigen Quellcode-und sample-Projekt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
6/14/14: Aktualisierter Beispielcode für iOS 7+ mit ARC.
Den UIGestureRecognizers zusammen arbeiten können, und Sie müssen nur sicherstellen, dass Sie don ' T trash der aktuellen Ansicht des transform-matrix. Verwenden Sie die CGAffineTransformScale-Methode und Verwandte Methoden, die verwandeln als Eingabe, anstatt es von Grund auf neu (es sei denn, Sie halten die aktuelle rotation, Skalierung oder translation selbst.
Download Xcode-Projekt
Hinweis: iOS 7 verhält sich komisch mit UIView ' s in IB, die Pan/Pinch/Rotate-gesten angewendet. iOS 8 behebt es, aber mein workaround ist, um alle Ansichten in code wie diesem code-Beispiel.
Demo-Video
Hinzufügen zu einer Ansicht und entsprechen den UIGestureRecognizerDelegate Protokoll
Implementieren Geste Methoden
Ressourcen