UINavigationController にカスタム UINavigationBar を設定しています。新しいビューコントローラーがプッシュされ、NavigationController からポップされたときに、NavigationBar がアニメーション化されないようにしたいと考えています。通常、UINavigationBar は、プッシュ中はタイトルと戻るボタンを右から左にアニメーション化し、ポップ中は左から右にアニメーション化します。NavigationBar を多かれ少なかれ静的に保ちながら、この機能を停止したいと思います。
カスタム UINavigationBar で以下をオーバーライドすることで、ポップ アニメーションを防ぐことができます。
-(UINavigationItem *)popNavigationItemAnimated:(BOOL)animated{
return [super popNavigationItemAnimated:NO];
}
ただし、オーバーライドすると
- (void)pushNavigationItem:(UINavigationItem *)item animated:(BOOL)animated
新しいviewcontrollerをNavigationControllerにプッシュするたびに、UINavigationBarは引き続きアニメーション化されます。
編集:プッシュまたはポップされたviewControllerをアニメーション化またはアニメーション化する必要があります。停止する必要があるのは NavigationBar のみです。