在 iOS 13 中隐藏状态栏

Hide Status Bar in iOS 13

使用通常的方法隐藏状态栏不起作用,因为该方法已被弃用。

状态栏必须隐藏在一个视图控制器中,但不是所有视图控制器。我如何以编程方式 hide/show 它?

第 1 步:- 添加权限

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

override var prefersStatusBarHidden: Bool {
     return true
}

注意:- 如果在隐藏的 true/false 之后没有正确设置约束,您将遇到设计问题,所以要小心......:)

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

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

}

然后在你想更新的地方调用这个

setNeedsStatusBarAppearanceUpdate()