【问题标题】:Status Bar Style issues since Xcode 11.4自 Xcode 11.4 以来的状态栏样式问题
【发布时间】:2020-05-28 09:51:21
【问题描述】:

由于 Xcode 11.4 覆盖 preferredStatusBarStyle 属性在某些情况下似乎不再起作用。

我们有一个UINavigationController 的扩展,我们基本上为每个 ViewController 覆盖它,但自 Xcode 11.4 起不再调用此属性。因此,大多数 ViewController 的状态栏都是黑色的。

extension UINavigationController {

    override open var preferredStatusBarStyle: UIStatusBarStyle {
        return .lightContent
    }

}

对于我们再次覆盖preferredStatusBarStyle 的某些视图控制器,它也停止工作。该属性被访问,但是状态栏不会改变它的颜色。

View controller-based status bar appearance 在 info.plist 中设置为 YES

问题出现在模拟器和真实设备上。

有人也有这个问题吗?

【问题讨论】:

标签: ios swift xcode uikit


【解决方案1】:

好的,我找到了解决方案。看起来我需要将 navigationBar 的 barStyle 设置为 .black,如 here 所述

navigationController?.navigationBar.barStyle = .black

不知道为什么现在需要这样做。

那时就不再需要UINavigationController 扩展了。

【讨论】:

    【解决方案2】:

    在此更改 appdelegate 中的 UIStatusBarStyle:

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
             
            return true
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 1970-01-01
      • 2013-10-10
      • 2020-01-09
      • 2015-05-07
      相关资源
      最近更新 更多