Parar uma animação UIView de inversão automática / repetição infinita com um bloco BOOL / completion

Estou montando o seguinteUIView animateWithDuration: método, com a intenção de definir o meuanimationOn BOOL em outro lugar no programa para cancelar essa repetição infinita em loop. Fiquei com a impressão de que ocompletion bloco seria chamado toda vez que um ciclo da animação terminasse, mas isso não parece ser o caso.

É ocompletion bloco já chamou em uma animação repetida? E se não, existe outra maneira que eu possa parar esta animação de fora deste 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];
                         }
    }];
}

questionAnswers(4)

yourAnswerToTheQuestion