在 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()
使用通常的方法隐藏状态栏不起作用,因为该方法已被弃用。
状态栏必须隐藏在一个视图控制器中,但不是所有视图控制器。我如何以编程方式 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()