我有一个 iOS 应用程序,它运行几个不同的UIViewAnimation
块来为屏幕上的几个不同对象设置动画。这一切都有效,但是我怎样才能在不停止其余动画块的情况下停止其中一个动画块?
我尝试过使用以下方法:
[button.layer removeAllAnimations];
但它什么也没做,动画只是继续。
然后,我尝试使用一个简单的值,并在设置为“NO”后从该方法BOOL
获取动画,但这也不起作用。return
BOOL
这是我试图停止的动画:
-(void)undo_animation:(int)num {
// Fade out/in the number button label
// animation which lets the user know
// they can undo this particular action.
[UIView animateWithDuration:0.5 delay:0.2 options:(UIViewAnimationOptionRepeat | UIViewAnimationOptionCurveEaseIn | UIViewAnimationOptionAllowUserInteraction) animations:^{
// Mostly fade out the number button label.
((UIButton *)_buttons[num]).alpha = 0.2;
} completion:^(BOOL finished) {
[UIView animateWithDuration:0.5 delay:0.2 options:(UIViewAnimationOptionCurveEaseIn | UIViewAnimationOptionAllowUserInteraction) animations:^{
// Fade in the number button label.
((UIButton *)_buttons[num]).alpha = 1.0;
} completion:^(BOOL finished) {
// Stop the animation if the BOOL
// is set to 'NO' animations.
if (anim_state_button == NO) {
return;
}
}];
}];
}
谢谢,丹。