コンテナビューコントローラー(ios5)を実装しましたが、ビューコントローラーを切り替えるためのカスタムアニメーション/トランジションを実装しようとしています。
しかし、UINavigationControllerを含むアニメーションを実装するときに問題が発生し、期待どおりの結果が得られません。たとえば、ナビゲーションバーでコントローラーを表示しているときに左からフリップアニメーションを実行すると、ナビゲーションバーの位置は元の位置より44ピクセル下に留まり、アニメーションが実行された後、ナビゲーションバーは元の位置にスムーズに移動します。ぶさいくな...
これは私が実行するすべてのアニメーションで発生するので、ナビゲーションコントローラーにのみ関連している必要があると思います。
これは私がフリップトランジションに使用するコードです
[self transitionFromViewController:fromViewController
toViewController:toViewController
duration:1.0
options:UIViewAnimationOptionTransitionNone
animations:^{
[UIView beginAnimations:@"animation2" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[UIView setAnimationDuration: 0.7];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:containerView cache:NO];
[UIView commitAnimations];
}
completion:^(BOOL finished) {
[toViewController didMoveToParentViewController:self];
[fromViewController removeFromParentViewController];
}];
私も次のことを試しました
[self transitionFromViewController:fromViewController
toViewController:toViewController
duration:1.0
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
}
completion:^(BOOL finished) {
[toViewController didMoveToParentViewController:self];
[fromViewController removeFromParentViewController];
}];