隐藏导航栏时隐藏状态栏 - SWIFT iOS8

Posted

技术标签:

【中文标题】隐藏导航栏时隐藏状态栏 - SWIFT iOS8【英文标题】:Hide status bar whenever nav bar is hidden - SWIFT iOS8 【发布时间】:2014-12-22 23:27:15 【问题描述】:

我怎样才能在视图滚动时显示状态栏:

    self.navigationController?.hidesBarsOnSwipe = true

或者如果不隐藏状态栏,我怎样才能让我的状态栏不覆盖我的视图?

ty 很棒的 *** 社区

【问题讨论】:

How to prevent status bar from overlapping content with hidesBarsOnSwipe set on UINavigationController? 的可能重复项 @MichałCiuba 我希望我能迅速而不是客观地得到它 【参考方案1】:

Swift 3 优雅的解决方案:

open override var prefersStatusBarHidden: Bool 
    return navigationController?.isNavigationBarHidden ?? false

【讨论】:

【参考方案2】:

对不起,如果这个答案有点晚了,但这是一种方法。

在视图控制器中使用 prefersStatusBarHidden() 方法。

override func prefersStatusBarHidden() -> Bool 
    if self.navigationController?.navigationBarHidden == true 
        return true
     else 
        return false
    

基本上说当导航栏被隐藏时,状态栏也被隐藏,反之亦然。

【讨论】:

我不知道为什么这在没有解释的情况下被否决(两次),这是正确的答案,感谢您的帮助。 ***.com/a/26007878 这个答案没有用,直到我发现这个关于“基于控制器的状态栏外观”=“是”

以上是关于隐藏导航栏时隐藏状态栏 - SWIFT iOS8的主要内容,如果未能解决你的问题,请参考以下文章

iOS 7隐藏导航栏时如何更改状态栏的颜色?

隐藏状态栏时,我的导航栏在 iOS7 中向上移动

在iOS 7中隐藏导航栏时,如何更改状态栏的颜色?

如何在按下导航栏时快速隐藏键盘

在iOS 7中隐藏状态栏时防止UINavigationController调整原点

如何使用点击手势(iOS8 / Swift)在 pageViewController 上显示/隐藏状态栏