次のコードを使用してビュー間を移行しています。
// Populate view2 here
UIView *theWindow = [_view2 superview];
[_view2 removeFromSuperview];
CATransition *animation = [CATransition animation];
[animation setDuration:0.25f];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFromRight];
[animation setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
[[theWindow layer] addAnimation:animation forKey:@"SwitchToSecondView"];
これは機能しますが、移行は完全にスムーズではありません。iPhone4 デバイス v5.1.1 でテストしています。どちらのビューにも約 20 のサブビューを含む UINavigationView、UIScrollView が含まれています。アニメーションの完了後にビューを作成することを検討しましたが、可能であればこれを避けたいと考えています。トランジションの滑らかさを 7/10 と評価します。
この移行をできるだけスムーズにするにはどうすればよいですか?