Помимо анимации с переворотом, которая, как я полагаю, у вас работает, вам нужно инициировать новую анимацию после завершения текущей.
Перед [UIView commitAnimations] сделайте следующее:
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDone:finished:context:)];
добавьте функцию
-(void)animationDone:(NSString*)id finished:(NSNumber*)n context:(void*)context
и разрешите запуск следующего раунда.
edit: вы делаете это, вставляя код для запуска анимации, поэтому типичный блок от [UIView beginAnimations...]
до [UIView commitAnimations]
.Лучшее решение, конечно, состоит в том, чтобы поместить исходный код анимации в отдельную функцию, чтобы схема выглядела следующим образом:
...
[self startAnimationLoop];
...
-(void)startAnimationLoop
{
[UIView beginAnimtions...];
// do the animation stuff
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationDone:finished:context:)];
[UIView commitAnimations];
}
-(void)animationDone:(NSString*)id finished:(NSNumber*)n context:(void*)context
{
[self startAnimationLoop];
}
, чтобы заставить ее двигаться вперед / назад, добавить некоторую переменную состояния или создать 2 набораиз этих функций, которые вызывают друг друга (startAnimationLoop1
и startAnimationLoop2
, каждая из которых запускает другую по завершении)