Search code examples
iosswiftuiviewcontrolleruinavigationbaruistatusbar

UINavigationBar moving under status bar when another viewController hides status bar


The problem is simple, the Profile viewController has a NavigationBar just under the status bar.
I push another viewController on top of the current one. This new viewController hides the status bar.

When I go back to the Profile viewController, the navigationBar has moved up by the size of the status bar height.

I tried to force a layout refresh in my viewWillAppear but it doesn't work.

Any ideas?

enter image description here


Solution

  • Implement viewDidDisappear in that presented viewcontroller and show status bar again before come to profileview controller.

      override func viewWillDisappear(animated: Bool) {
    
    
        UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: UIStatusBarAnimation.Fade)
    }