Я настраиваю следующий метод 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];
}
}];
}