如何在视图上隐藏状态栏

时间:2019-11-20 22:25:11

标签: ios statusbar ios13 xcode11

在有人将其标记为重复之前,我想说我已经看过所有这些答案,但是没有一个对我有帮助。而且它们是驴岁的解决方案,不再起作用。

我只想在视图上隐藏状态栏。

Info.plist settings:
Status bar style: Light Content
View controller-based status bar appearance: NO

使用上述设置,我尝试了许多解决方案,但没有一个起作用。我唯一能使它正常工作的方法是

override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    // Hide status bar - this is the only working solution for me
    // Setter for 'isStatusBarHidden' was deprecated in iOS 9.0: Use -[UIViewController prefersStatusBarHidden]
    UIApplication.shared.isStatusBarHidden = true
}

然而,这种有效的解决方案在Xcode中给出了警告

// Setter for 'isStatusBarHidden' was deprecated in iOS 9.0: Use -[UIViewController prefersStatusBarHidden]

上述警告的解决方案是使用同样无法解决的变通办法。

是否有任何简单而明确的方法来隐藏视图上的状态栏?

1 个答案:

答案 0 :(得分:0)

您应该在需要隐藏状态栏的视图控制器上设置prefersStatusBarHidden属性。在您的视图控制器中添加以下属性:

override var prefersStatusBarHidden: Bool { true }

在几个简单的应用程序中进行了尝试,对我来说就像一个魅力。