Просто установка
[UIView setAnimationDelegate:self];
не вызовет ни один из методов делегата Animation, когда анимация начинается или заканчивается.
Эту проблему можно решить одним из следующих обходных путей.
1) В разделе вашей реализации добавьте
@implementation MyViewWithAnimations <UIApplicationDelegate>
2) В вашей анимации begin-commit-block добавьте
[UIView setAnimationWillStartSelector:@selector(animationDidStart:)];
[UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:)];
3) ЧтоApple предлагает вместо этого использовать методы блочной анимации.
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIView_Class/UIView/UIView.html