wie stoppe Kernanimation?

8

Ich animiere eine Schaltfläche mit der Core-Animation jetzt unter einer bestimmten Bedingung Ich möchte diese Animation stoppen Wie kann ich die Animation stoppen?

Hier ist die Methode zum Animieren der Schaltfläche

%Vor%     
Rahul Vyas 14.10.2009, 14:15
quelle

2 Antworten

22

Von Kernanimation Programmierhandbuch

Explizite Animationen starten und stoppen

Sie starten eine explizite Animation, indem Sie eine addAnimation: forKey: -Nachricht an die Zielebene senden und die Animation sowie eine Kennung als Parameter übergeben. Nach dem Hinzufügen zur Zielebene wird die explizite Animation ausgeführt, bis die Animation abgeschlossen ist oder aus der Ebene entfernt wird. Der Bezeichner zum Hinzufügen einer Animation zu einem Layer wird auch verwendet, um ihn durch Aufruf von removeAnimationForKey: zu stoppen. Sie können alle Animationen für einen Layer stoppen, indem Sie dem Layer eine removeAllAnimations-Nachricht senden.

    
nall 14.10.2009, 17:41
quelle
7

Wie schon erwähnt, müssen Sie Ihrer Animation nur einen Schlüssel (String usw.) zuweisen und dann -removeAnimationForKey: auf Ihrer Ebene verwenden, um diese bestimmte Animation zu entfernen.

Wenn Sie dies tun, sollte die Ebene jedoch in den Zustand vor der Animation zurückkehren. Um die Ebene anzuhalten, während die animierte Eigenschaft ihren aktuellen Wert beibehält, sollten Sie das tun, was ich in diese Antwort : Erhalte die presentationLayer für den animierenden Layer, lies den aktuellen Wert der animierten Eigenschaft, setze diesen Wert auf den animierenden Layer und entferne erst dann die Animation.

    
Brad Larson 14.10.2009 18:28
quelle