【问题标题】:How to hide status bar on a view如何隐藏视图上的状态栏
【发布时间】:2019-11-20 22:25:11
【问题描述】:

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

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

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]

上述警告的解决方案是使用那些再次不起作用的解决方法。

有什么简单而明确的方法可以在视图上隐藏状态栏吗?

【问题讨论】:

    标签: ios statusbar ios13 xcode11


    【解决方案1】:

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

    override var prefersStatusBarHidden: Bool { true }
    

    在几个简单的应用程序中试过这个,对我来说就像一个魅力。

    【讨论】:

    • 仅当基于视图控制器的状态栏外观在 info.plist 中设置为 YES 时才有效。在我的情况下,这个值是 NO 所以它不起作用。我已经尝试过了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-09
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 2017-01-08
    相关资源
    最近更新 更多