在iOS 13中隐藏状态栏

时间:2019-12-14 11:05:42

标签: swift uistatusbar

使用常规方法隐藏状态栏不起作用,因为该方法已被弃用。 enter image description here

状态栏必须隐藏在一个视图控制器中,但不是全部隐藏。如何以编程方式隐藏/显示它?

2 个答案:

答案 0 :(得分:1)

步骤1:-添加权限

enter image description here

第2步:-在所需的视图控制器中添加以下代码以隐藏状态栏。

override var prefersStatusBarHidden: Bool {
     return true
}

注意:-如果在隐藏的true / false之后没有正确设置约束,则会遇到设计问题,因此请注意... :)

答案 1 :(得分:1)

只需添加到接受的答案中,如果您的控制器像对我一样嵌入到堆栈中,那么您还需要额外的一段代码,请确保在之前/之前提供此代码控制器加载。

extension UINavigationController {
open override var prefersStatusBarHidden: Bool {
    return topViewController?.prefersStatusBarHidden ?? true
}

}

然后在要更新的地方调用

setNeedsStatusBarAppearanceUpdate()