I have the following problem: I have overridden popViewControllerAnimated:(BOOL)animated
of UINavigationController
because I would like to have a custom animation. The code is as follows:
- (UIViewController *)popViewControllerAnimated:(BOOL)animated
{
UIViewController *poppedCtrl = [super popViewControllerAnimated:NO];
[((customViewController *) self.topViewController) doCustomAnimation];
return poppedCtrl;
}
Unfortunately the UINavigationBar
seems to ignore that I explicitly disable the built in animation and it is still animated.
What do I have to do to also prevent the animation of the navigation bar?
If anyones looking to disable push animation - this works for me, by overrideing this method on UINavigationBar:
After some reading and also some experimentation I finally found out what needs to be done to achieve the desired behavior.
To prevent the navigation bar from being animated it is not sufficient to override
(UIViewController *)popViewControllerAnimated:(BOOL)animated
.It is also necessary to create a custom navigation bar and override
(UINavigationItem *)popNavigationItemAnimated:(BOOL)animated
:Of course this custom navigation bar must also be the one which is used (I just replaced the navigation bar which is used by my navigation controller in the interface builder).