激活深色模式时更改 iOS 状态栏文本颜色

Change iOS status bar text color while dark mode is activated

有了iOS13新的深色模式功能,我现在似乎无法控制Xamarin Forms中的状态栏文本颜色。我发现的大多数解决方案似乎都来自 iOS.

引入暗模式之前的解决方案

我的应用程序使用资源以便我可以轻松更改整个应用程序的样式。即使在深色模式下,我的导航栏的颜色与白色文本一起阅读时也不舒服。我需要将状态栏的颜色设置为黑色,不管设备激活了什么颜色模式。

我尝试在我的导航页面中手动设置颜色,但它似乎被 iOS 颜色模式覆盖了。此代码适用于 Android:

        BarTextColor = Color.Black;
        BarBackgroundColor = (Color)App.Instance.Resources["PrimaryColor"];

我试过将 true 和 false 设置为 UIViewControllerBasedStatusBarAppearance。 我也在 Info.plist.

中尝试了 Status Bar Style 的所有设置

自深色模式发布以来,有人知道在 Xamarin Forms 中控制它的方法吗?

你检查过这个文档了吗? NavigationPage Bar Translucency on iOS NavigationPage Bar Text Color Mode on iOS。也许半透明可以解决您的问题?

问题已通过切换到 Xamarin iOS SDK 13 解决,它向 StatusBarStyle 枚举添加了一个项目。

更多信息here