更改状态栏会更改ios中导航栏的标题。 xamarin.forms

时间:2017-10-10 14:56:15

标签: layout xamarin.ios xamarin.forms statusbar navigationbar

我遇到问题因为在我的IOS应用程序中我需要一个带有白色文本颜色的状态栏,我需要一个橙色标题颜色的导航栏和图像中的白色后退按钮但是有一个白色状态栏:< / p>

enter image description here

要更改状态栏颜色,我在pcl项目的app.xaml.cs中完成了它。

            MainPage =  new NavigationPage(new Views.Splash2()) { BarTextColor = Color.White };

它改变了我想要的状态栏颜色,但导航栏标题是白色知道的...我该如何解决这个问题?我需要第一个照片布局,但有一个白色状态栏,如第二个......

enter image description here

我正在使用xamarin.forms

-----------------------------编辑----------------- ----------

搜索,我现在知道xamarin.forms中ios的状态栏颜色取决于导航栏文本颜色,然后,如果你使用被认为是“光”的颜色(它需要有一个蓝色的值,那个不能是0)statubar文本颜色是白色,否则它是黑色的... 我使用浅橙色(这不是我想要的颜色,但没关系,它更好)......我在这里看到了解决方案

https://forums.xamarin.com/discussion/51602/on-ios-can-i-set-the-statusbar-text-color-independently-of-the-navigationpage-bartextcolor

现在,我的状态栏文本为白色,我的导航栏文本为橙色,但问题是:在ios中,当我使用

设置此颜色时导航栏后退按钮为橙色
            MainPage =  new NavigationPage(new Views.Splash2()) { BarTextColor = Color.FromHex("#ff9e14") };

我需要它是白色的,正如我在这里展示的那样。 现在怎么样:

enter image description here

如何仅更改导航栏后退按钮颜色?

1 个答案:

答案 0 :(得分:0)

理解起来真的很复杂,因为仅当您更改导航栏文本颜色时状态栏颜色才会更改...如果您使用“浅色”(具有大量蓝色),状态栏将变为白色,但是如果你使用没有蓝色的颜色,状态栏文本将是黑色...除此之外...当我在我的问题中显示的app.xaml.cs中更改页面的导航栏文本颜色时,在ios中,不在Android中,导航栏的后退按钮将与您设置为导航栏标题的颜色相同...如果您想为后退按钮设置不同的颜色,则可以创建自定义导航渲染器并在其中使用这一行

            this.NavigationBar.TintColor = UIColor.colorThatYouWant;

就是这样!地狱¬¬'