【问题标题】:prefersStatusBarHidden iOS 13 not calledprefersStatusBarHidden iOS 13 未调用
【发布时间】:2020-03-28 23:07:46
【问题描述】:

我一直在用

override var prefersStatusBarHidden: Bool {return true}

将状态栏隐藏在单个 UIViewController 中。但是我在使用 iOS 13 时遇到了问题...

我不明白为什么var prefersStatusBarHidden 不叫..

在我的 plist 文件中我设置了 View controller-based status bar appearance = YES 但它不起作用...

状态栏始终可见...我该如何解决?

【问题讨论】:

  • 描述视图控制器层次结构。只有顶层视图控制器(例如整个应用程序的根)得到这个调用。你的视图控制器在哪里?
  • @matt ... 是我的应用程序的第一个视图控制器,带有导航栏。我从场景委托初始化这个视图控制器
  • 好的,你的模拟器/设备像 iPhone X 吗?如果导航控制器显示其导航栏,则无法隐藏状态栏。
  • @matt 我正在使用我的真实设备(iPhoneX MAX),在这个 ViewController 中导航栏是隐藏的

标签: ios swift uiviewcontroller statusbar


【解决方案1】:

在 iPhone X 型设备(任何没有边框的设备)上,Apple 不希望您隐藏状态栏,因此不会调用您的视图控制器的 prefersStatusBarHidden

你可以通过继承 UINavigationViewController 来解决这个问题;在我的测试中,这很有效,但我不知道苹果是否会批准。

【讨论】:

  • 好的,然后我会尝试管理状态栏的颜色,这有时也会产生问题......它不会改变颜色......但是现在我再次尝试只改变颜色。 . 非常感谢马特
  • 没有任何改变状态栏颜色的规定。它没有颜色。它是透明的,您无法更改。
  • 我的意思是文本颜色状态栏亮或暗:)
  • 再次感谢您的光临,我在苹果指南上发布了另一个关于 SignIn With Apple 按钮的问题 .. 您有时间可以看看吗? :)
  • 我忘了给你发链接对不起stackoverflow.com/questions/60919194/…
【解决方案2】:

如果你想在整个应用程序中隐藏状态栏,那么在你的项目中

进入General->Deployment Info->Status bar style,勾选Hide status bar。

【讨论】:

    猜你喜欢
    • 2020-05-01
    • 2016-02-06
    • 1970-01-01
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 2016-06-10
    相关资源
    最近更新 更多