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