Detenga una animación UIView con inversión automática / repetición infinita con un bloque de finalización / BOOL
Estoy configurando lo siguienteUIView animateWithDuration:
Método, con la intención de establecer mianimationOn
BOOL en otro lugar del programa para cancelar esa repetición de bucle infinito. Tenía la impresión de que lacompletion
el bloque se llamará cada vez que finalice un ciclo de la animación, pero este no parece ser el caso.
Es elcompletion
Bloqueado alguna vez llamado en una animación de repetición? Y si no, ¿hay otra manera de detener esta animación desde fuera de este método?
- (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];
}
}];
}