Используйте новейшие блочные методы анимации, предоставляемые Apple, как:
[UIView animateWithDuration:0.5
delay:0.0
options:UIViewAnimationOptionBeginFromCurrentState
animations:^{
//animation block
}
completion:^(BOOL finished){//this block starts only when
//the animation in the upper block ends
//so you know when exactly the animation ends
}];
Метод, который вы использовали, скоро будет устаревшим ...