UINavigationController
カスタムアニメーションでViewControllerをプッシュするための拡張機能として、次のコードを使用します。
@implementation UINavigationController (PushAnimation)
- (void)pushViewController:(UIViewController*)controller withTransition:(UIViewAnimationTransition)transition
{
[UIView beginAnimations:nil context:NULL];
[self pushViewController:controller animated:NO];
[UIView setAnimationDuration:1.0];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationTransition:transition forView:self.view cache:YES];
[UIView commitAnimations];
}
@end
キャッシュを有効にすると、を押すと奇妙なアニメーション動作が発生しUITableViewController
ます。カスタムアニメーションが完了すると、プッシュされたビューのタイトルが表示されます。トランジションスタイルUIViewAnimationTransitionNone
を使用すると、タイトル自体がアニメーション化されていることが明らかになります。画面の左上隅から中央に移動しUINavigationBar
ます。
キャッシュを無効にすると、このアニメーションは速度が原因で表示されませんが、フレームレートが大幅に低下します。
タイトルがアニメーション化されないようにするにはどうすればよいですか?