Вы можете начать с добавления имени к анимации, чтобы вместо beginAnimations:nil
вы указали beginAnimations: @"Button Animations"
или что-то в этом роде. Кроме того, вы должны установить делегата анимации на себя. Это можно сделать, добавив следующую строку кода в блок анимации:
[UIView setAnimationDelegate: self];
Затем вы можете поместить весь этот блок анимации в собственный метод класса (в вашем контроллере представления). Давайте назовем это doAnimation. Это только для безопасной меры. Следующее, что вы должны сделать, это реализовать эту функцию делегата в вашем контроллере представления:
-(void) animationDidStop: (NSString *) animationID finished:(NSNumber *)finished context:(void *)context{
if([animationID isEqualToString:@"Button Animation"]){
[self doAnimation];
}
}
Так что в значительной степени это обеспечит повторение ваших анимаций. Если этот метод не работает, дайте мне знать, я не проверял его. Но я думаю, что это сработает.