Ich bin neu in iOS, verwende UIPanGestureRecognizer
in meinem Projekt. In dem ich eine Anforderung habe, den aktuellen Berührungspunkt und vorherigen Berührungspunkt zu erhalten, wenn ich die Ansicht ziehe. Ich kämpfe um diese zwei Punkte.
Wenn ich die touchesBegan
Methode benutze Anstatt UIPanGestureRecognizer
zu verwenden, könnte ich diese zwei Punkte mit dem folgenden Code erhalten:
Ich muss diese zwei Punkte in UIPanGestureRecognizer
event fire method bekommen. Wie kann ich das erreichen? Bitte führe mich.
Sie können dies verwenden:
%Vor%Speichern Sie den vorherigen Speicherort, indem Sie den aktuellen Speicherort festlegen, falls nicht gefunden, und fügen Sie den aktuellen Speicherort jedes Mal hinzu.
%Vor% Wenn Sie eine UIPanGestureRecognizer
verknüpfen eine IBAction, wird die Aktion bei jeder Änderung aufgerufen. Der Gestenerkenner bietet auch eine Eigenschaft namens state
, die angibt, ob es sich um die erste UIGestureRecognizerStateBegan
, die letzte UIGestureRecognizerStateEnded
oder nur ein Ereignis zwischen UIGestureRecognizerStateChanged
handelt.
Um Ihr Problem zu lösen, versuchen Sie es wie folgt:
%Vor% Sie können sich auch die Methode translationInView:
.
Sie sollten den Pan-Gesten-Erkenner wie folgt instanziieren:
%Vor%Dann sollten Sie panRecognizer zu Ihrer Ansicht hinzufügen:
%Vor% Die Methode - (void)handlePan:(UIPanGestureRecognizer *)recognizer
wird aufgerufen, während der Benutzer mit der Ansicht interagiert. In handlePan: Sie können den Punkt wie folgt erhalten:
Sie können auch den Status des panRecognizer abrufen:
%Vor%Tags und Links objective-c ios touchesbegan uipangesturerecognizer uitouch