Xamarin.Forms iOS NavigationPage 的状态栏颜色
Xamarin.Forms iOS statusbar color with NavigationPage
我正在 Xamarin.Forms 中构建应用程序,在 iOS 应用程序上,我希望状态栏颜色为白色。这是我目前所拥有的:
App.cs
public App()
{
NavigationPage _navigationPage = new NavigationPage(new RootPage());
MainPage = _navigationPage;
}
您可以使用以下方法全局设置状态栏颜色,而不是使用自定义渲染器:
在您的 info.plist 中添加以下 属性 和值:
- 属性:
UIViewControllerBasedStatusBarAppearance
- 类型:
boolean
- 值:
No
用这行代码更新 iOS 项目中的 AppDelegate.cs
:
UIApplication.SharedApplication.SetStatusBarStyle (UIStatusBarStyle.LightContent, false);
在最近的 Xamarin 更新后,您现在可以通过设置 BarTextColor属性、
来执行此操作
_navigationPage.SetValue(NavigationPage.BarTextColorProperty, Color.White);
然而,就像在 中一样,您仍然需要将以下内容添加到您的 Info.plist
- 属性:
UIViewControllerBasedStatusBarAppearance
- 类型:
boolean
- 值:
No
全局更改 ios
的状态栏文本颜色和背景颜色
在 App.xaml.cs 中:
var page = new NavigationPage(new MainPage()) { BarTextColor = Color.White };
在 Info.plist 中:
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
并更改背景颜色
在 AppDelegate.cs => override bool FinishedLaunching(...):
var statusBar = UIApplication.SharedApplication.ValueForKey(new NSString("statusBar")) as UIView;
if (statusBar.RespondsToSelector(new ObjCRuntime.Selector("setBackgroundColor:")))
{
statusBar.BackgroundColor = UIColor.Black;
}
并在每个页面上设置 padding top = 20
我正在 Xamarin.Forms 中构建应用程序,在 iOS 应用程序上,我希望状态栏颜色为白色。这是我目前所拥有的:
App.cs
public App()
{
NavigationPage _navigationPage = new NavigationPage(new RootPage());
MainPage = _navigationPage;
}
您可以使用以下方法全局设置状态栏颜色,而不是使用自定义渲染器:
在您的 info.plist 中添加以下 属性 和值:
- 属性:
UIViewControllerBasedStatusBarAppearance
- 类型:
boolean
- 值:
No
用这行代码更新 iOS 项目中的 AppDelegate.cs
:
UIApplication.SharedApplication.SetStatusBarStyle (UIStatusBarStyle.LightContent, false);
在最近的 Xamarin 更新后,您现在可以通过设置 BarTextColor属性、
来执行此操作_navigationPage.SetValue(NavigationPage.BarTextColorProperty, Color.White);
然而,就像在
- 属性:
UIViewControllerBasedStatusBarAppearance
- 类型:
boolean
- 值:
No
全局更改 ios
的状态栏文本颜色和背景颜色在 App.xaml.cs 中:
var page = new NavigationPage(new MainPage()) { BarTextColor = Color.White };
在 Info.plist 中:
<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>
并更改背景颜色 在 AppDelegate.cs => override bool FinishedLaunching(...):
var statusBar = UIApplication.SharedApplication.ValueForKey(new NSString("statusBar")) as UIView;
if (statusBar.RespondsToSelector(new ObjCRuntime.Selector("setBackgroundColor:")))
{
statusBar.BackgroundColor = UIColor.Black;
}
并在每个页面上设置 padding top = 20