UINavigationBar 在另一个 viewController 隐藏状态栏时移动到状态栏下方

UINavigationBar moving under status bar when another viewController hides status bar

问题很简单,配置文件 viewController 在状态栏下方有一个 NavigationBar
我将另一个 viewController 推到当前的之上。 这个新的 viewController 隐藏了状态栏。

当我返回配置文件 viewController 时,navigationBar 已经向上移动了状态栏高度的大小。

我试图在 viewWillAppear 中强制刷新布局,但它不起作用。

有什么想法吗?

在显示的 viewcontroller 中实施 viewDidDisappear 并在进入 profileview 控制器之前再次显示状态栏。

  override func viewWillDisappear(animated: Bool) {


    UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: UIStatusBarAnimation.Fade)
}

在 plist 文件中添加代码在您的应用中隐藏状态栏:

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

使用下面的代码,

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

希望对您有所帮助