我有Xamarin Forms应用程序。我不使用NavigationBar:
Xamarin.Forms.NavigationPage.SetHasNavigationBar(this, false);
我需要在iOS的状态栏中更改颜色(背景)和文本颜色。我使用此代码:
if (UIDevice.CurrentDevice.CheckSystemVersion(13, 0))
{
UIView statusBar = new UIView(UIApplication.SharedApplication.KeyWindow.WindowScene.StatusBarManager.StatusBarFrame);
statusBar.BackgroundColor = UIColor.White;
statusBar.TintColor = UIColor.Black;
statusBar.AccessibilityIgnoresInvertColors = true;
statusBar.TintColorDidChange();
UIApplication.SharedApplication.KeyWindow.AddSubview(statusBar);
}
else
{
UIView statusBar = UIApplication.SharedApplication.ValueForKey(new NSString("statusBar")) as UIView;
if (statusBar.RespondsToSelector(new ObjCRuntime.Selector("setBackgroundColor:")))
{
statusBar.BackgroundColor = UIColor.White;
statusBar.TintColor = UIColor.Black;
UIApplication.SharedApplication.StatusBarStyle = UIStatusBarStyle.BlackOpaque;
}
}
并且我将此代码添加到了info.plist中:
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
此后:状态栏背景代码-白色。但是文字颜色是白色(我需要黑色)。有什么建议吗?
此后:状态栏背景代码-白色。但是文字颜色是白色(我需要黑色)。有什么建议吗?
在iOS中,您可以更改UIStatusBarStyle来修改状态栏的文本颜色。共有三种类型的样式,实际上是两种类型的样式。(默认为Dark,与Dark样式相同。)
UIStatusBarStyleDefault:用于在浅色背景上使用的深色状态栏。
UIStatusBarStyleLightContent:浅色状态栏,旨在在深色背景上使用。
UIStatusBarStyleDarkContent:用于在浅色背景上使用的深色状态栏。
如果需要在iOS中设置状态栏的黑色文本颜色,则可以在Info.plist
中添加以下键值。
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
//Follow can change text color of status bar
<key>UIStatusBarStyle</key>
<string>UIStatusBarStyleDarkContent</string>