Возможно, вы захотите попробовать следующее
float timeDelay = 0.2
float duration = YOUR_DURATION
for (int i = 0; i<(int)viewArray.count; i++) {
UIView *view = [viewArray objectAtIndex:i];
//animate the layer
[UIView animateWithDuration:duration delay:(i+1)*timeDelay
options: {Check UIView Class Reference on developer.apple.com}
animations:^{
[view.layer fantastic animation here];
} completion^(BOOL finised){
if(finished){
//Leave blank if nothing, good practice to implement debuging here or post animation processes here (like removing a subview from a super)
}
}];
}
Имейте в виду, что если вы отправите свою программу фону, это может нарушить вашу анимацию, поэтому убедитесь, что вы вызвали этот метод в вашем приложении. Делегаты:
- (void)applicationWillEnterForeground:(UIApplication *)application;
Надеюсь, это поможет