启用黑暗模式时更改iOS状态栏文本颜色

时间:2020-02-21 21:23:51

标签: xamarin xamarin.forms xamarin.ios ios13

有了iOS 13的新暗模式功能,我现在似乎无法控制Xamarin Forms中的状态栏文本颜色。我发现大多数解决方案似乎都是在将黑暗模式引入iOS之前的。

我的应用程序使用资源,因此我可以轻松更改整个应用程序的样式。即使在黑暗模式下,我的导航栏的颜色也不容易阅读白色文本。我需要将状态栏的颜色设置为黑色,无论设备已激活哪种颜色模式。

我尝试在导航页面中手动设置颜色,但是它似乎已被iOS颜色模式覆盖。该代码可在Android上使用:

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

我尝试将UIViewControllerBasedStatusBarAppearance设置为true和false。 我还尝试了Status Bar StyleInfo.plist的所有设置。

自从发布暗模式以来,有人知道在Xamarin Forms中控制此内容的方法吗?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

更多信息here