【问题标题】:iOS 16 text in status bar is white even when UIStatusBarStyle is set to DarkContent即使 UIStatusBarStyle 设置为 DarkContent,iOS 16 状态栏中的文本也是白色的
【发布时间】:2022-09-29 15:48:20
【问题描述】:

问题

目前我正在开发一个应用程序,在 iOS 16 上,状态栏的文本颜色通常为白色,而自定义标题的背景颜色为浅色。在自定义标题的代码中,有一个检查应该根据标题的颜色设置正确的 UIStatusBarStyle。当标题为浅色时,状态栏中的文本应为黑色,当标题的背景颜色为深色时,文本应为白色。

自 iOS 16 以来,此逻辑不再正常工作,我尝试修复它,但它似乎不起作用。

我在模拟器上没有这种行为,但我可以在装有 iOS 16 的 iPhone 12 上重现它。

该项目使用 Xamarin.iOS 和 C#。

我试过的

  • 在 iOS 为 16 时,我在 AppDelegate 中将 UIStatusBarStyle 设置为 DarkContent。
  • 在自定义标头中,当 iOS 为 16 时,我将 UIStatusBarStyle 设置为 DarkContent,并带有 if 语句和 return。当标题的背景颜色为浅色时,我还将 UIStatusBarStyle 设置为 DarkContent(其他 iOS 版本回退)。

有没有人在 iOS 16 上使用 UIStatusBarStyle 有相同的行为?我只找到了一个关于它的post,它更多的是为最终用户而不是开发人员。

    标签: xamarin.ios uistatusbar ios16


    【解决方案1】:

    我刚刚在 iOS 16 上遇到了同样的问题。我的大多数视图都很暗,所以我想要一个带有白色字符的状态栏(在 iOS 15 上使用 UIStatusBarStyle 可以正常工作),无论用户的 Darkmode/LightMode 设置如何。我可以通过在需要的地方设置.preferredColorScheme(.dark) 来实现它。希望有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-02
      • 2020-02-01
      • 2017-11-23
      • 2015-06-14
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      相关资源
      最近更新 更多