【问题标题】:How do I change the default status bar color when overriding system UI style in swift在swift中覆盖系统UI样式时如何更改默认状态栏颜色
【发布时间】:2019-09-26 20:00:18
【问题描述】:

当我将 overrideUserInterfaceStyle 覆盖为明暗模式设置为 on 时,在设备上,它不会将状态栏样式更改为 .lightcontent。

                    overrideUserInterfaceStyle = .light
                    self.navigationController?.navigationBar.largeTitleTextAttributes = [.foregroundColor: UIColor.black]
                    self.navigationController?.navigationBar.titleTextAttributes = [.foregroundColor: UIColor.black]
                    self.navigationController?.navigationBar.barStyle = .default
                    self.setNeedsStatusBarAppearanceUpdate()

这是我用于覆盖界面样式的代码。当我这样做时,状态栏会保留深色内容。

【问题讨论】:

    标签: swift xcode ios13 ios-darkmode


    【解决方案1】:

    如果您的内容在 UINavigationController 内,您将无法获得预期的结果。您必须继承 UINavigationController 才能进入其内容并提升该视图控制器的覆盖值。

    请参阅此主题以获得一些答案:preferredStatusBarStyle isn't called

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多