wie zu stoppen core animation?
Ich bin die Animation einer Schaltfläche mit core animation jetzt auf eine bestimmte Bedingung, die ich aufhören wollen, dass die animation, wie verhindere ich, dass die animation?
hier ist die Methode zum animieren der Schaltfläche
-(void)animateButton:(UIButton *)btnName
{
CABasicAnimation *pulseAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
pulseAnimation.duration = .5;
pulseAnimation.toValue = [NSNumber numberWithFloat:1.1];
pulseAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
pulseAnimation.autoreverses = YES;
pulseAnimation.repeatCount = FLT_MAX;
[btnName.layer addAnimation:pulseAnimation forKey:nil];
}
- auf die erste Prüfung, ich dachte, diese Frage sei "how to stop Einäscherung" 🙂
- sorry! vergessen Sie den Raum
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom Core Animation Programming Guide
Starten und Stoppen Explizite Animationen
Starten Sie eine explizite animation durch senden einer addAnimation:forKey: Nachricht an die Ziel-Ebene, vorbei an der animation und eine Kennung als Parameter. Einmal Hinzugefügt, um die Ziel-layer der explizite animation wird ausgeführt, bis die animation abgeschlossen ist, oder es wird aus der Ebene entfernt. Der Bezeichner verwendet, um eine animation hinzuzufügen, um eine Schicht wird auch verwendet, um es zu stoppen, indem removeAnimationForKey:. Sie können stoppen Sie alle Animationen, die für eine Ebene durch senden des Schicht removeAllAnimations Nachricht.
Als nalle Punkte, Sie müssen nur eine Taste zuordnen, die animation (string, etc.), verwenden Sie dann -removeAnimationForKey: auf Ihrer Schicht zu entfernen, die bestimmten animation.
Jedoch, wenn Sie dies tun, wird die Schicht sollte wieder in seine pre-animation Zustand. Die Schicht beenden mit der animierten Eigenschaft behalten Ihren aktuellen Wert, werden Sie wollen, zu tun, was ich beschreiben diese Antwort: Holen Sie sich die presentationLayer für die Animation layer, Lesen Sie den aktuellen Wert der animierten Eigenschaft, dass der Wert der Animation-Schicht, und entfernen Sie erst dann die animation.