Search code examples
objective-ciosuinavigationcontrollerdelay

iOS -> setNavigationBarHidden delay


When i use

[[self navigationController] setNavigationBarHidden:YES animated:NO];

and in another view

[[self navigationController] setNavigationBarHidden:NO animated:NO];

I can clearly see a delay when navigation bar is 'disappearing' and 'appearing' between these views. Is there any way to omit this and force navigation bar to appear/disappear immediately after switching views?

Eg. From class A to B- I can firstly see view, then navigation bar is appearing after +/- 1s. From class B to A- I can see view with navigation bar and after about 1s bar is disappearing.


Solution

  • You could setup the navigation bar after the new view has completed its transition onto the screen.

    -(void)viewDidAppear:(BOOL)animated;
    {
        [self.navigationController setNavigationBarHidden:NO 
                                                 animated:animated];
    }