1. As for me it's better to use blocks-based [UIView animateWithDuration...] method;
2. I've not found where you implemented at least one animation delegate method. So for what reason do you set animation delegate?