我在不同的文章中读到它的工作,但不知怎的,它对我来说并不适用。 我加入了plist
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
并且
var p = new FreshNavigationContainer(page);
p.BarTextColor = Color.Fuchsia;
p.BarBackgroundColor = Color.Aqua;
MainPage = p;
FreshNavigationContainer派生自NavigationPage。
我希望能够更改每个页面上的状态栏颜色。当页面很暗时 - 我需要状态栏很亮。反之亦然。
答案 0 :(得分:2)
我认为你究竟想要改变颜色的确存在一些混乱。
UIViewControllerBasedStatusBarAppearance
通常与更改状态栏文字颜色结合使用。例如,
UIApplication.SharedApplication.SetStatusBarStyle (UIStatusBarStyle.LightContent, false);
这会做出这样的改变:
看起来你可能期望BarTextColor
改变这一点。但是,这会改变文本&#34; My Expenses&#34;在上图中。
您必须使用iOS API(不是表单)更改iOS项目中的状态栏文本颜色。示例here。如果您希望整个应用在状态栏中显示浅色文本,请将info.plist更新为:
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleLightContent</string>
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
更新
如果要更改每个页面的状态栏颜色,则需要将UIViewControllerBasedStatusBarAppearance
设置为true。然后,您需要在iOS项目中为要更改状态栏颜色的每个页面使用PageRenderer
。在渲染器中,您可以使用UIApplication.SharedApplication.StatusBarStyle = UIStatusBarStyle.LightContent;
方法调用ViewWillAppear
。
请注意,您对该款式的选项有限,列于here。