当另一个viewController隐藏状态栏时,UINavigationBar在状态栏下移动

问题很简单,Profile viewController在状态栏下面有一个NavigationBar。 我推另一个viewController在当前之一。 这个新的viewController隐藏状态栏。

当我回到Profile viewController时,navigationBar已经向上移动了状态栏高度的大小。

我试图强制在我的viewWillAppear刷新布局,但它不工作。

有任何想法吗?

在这里输入图像说明

在呈现视图控制器中实现viewDidDisappear并再次显示状态栏来到profileview控制器。

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

使用下面的代码,

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

希望它有帮助

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

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