Mikael Mikael - 1 year ago 147
iOS Question

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

Answer Source

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)