Я бы сделал это, используя CATransition, с типом kCATransitionPush.
CATransition *animation = [CATransition animation];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromRight]; //or ...FromLeft, as the case may be
Я получил лучшую производительность с CATransitions, чем с другими методами, но это может зависеть от нескольких факторов.
Посмотрите на класс TransitionView в примере кода Apple, чтобы узнать, как создать представление, которое выполняет переходы. С этим классом вы можете сделать:
- (void)replaceSubview:(UIView *)oldView withSubview:(UIView *)newView transition:(NSString *)transition direction:(NSString *)direction duration:(NSTimeInterval)duration;