我正在设置以下UIView animateWithDuration:
方法,目的是animationOn
在程序的其他地方设置我的 BOOL 以取消无限循环重复。我的印象是completion
每次动画循环结束时都会调用该块,但情况似乎并非如此。
completion
是否曾在重复动画中调用过该块?如果没有,有没有另一种方法可以从这个方法之外停止这个动画?
- (void) animateFirst: (UIButton *) button
{
button.transform = CGAffineTransformMakeScale(1.1, 1.1);
[UIView animateWithDuration: 0.4
delay: 0.0
options: UIViewAnimationOptionCurveEaseOut | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat
animations: ^{
button.transform = CGAffineTransformIdentity;
} completion: ^(BOOL finished){
if (!animationOn) {
[UIView setAnimationRepeatCount: 0];
}
}];
}