UINavigationBar moving under status bar when anoth

2019-09-10 02:46发布

问题:

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?

回答1:

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)
}


回答2:

Use this below code,

override func viewWillDisappear(animated: Bool) {
    navigationController?.setNavigationBarHidden(navigationController?.navigationBarHidden == false, animated: false)
}

hope its helpful



回答3:

add code in plist file hide status bar in your app:

<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>