切换应用程序时,我在iOS上遇到问题。状态栏颜色更改为default,有人知道如何解决此问题吗?似乎是iOS本身的错误。
注意:在这种情况下,我没有使用Navigation Bar
。
到目前为止,每当我要更改状态栏颜色时,我仅在iOS中提供此服务。
public void ChangeStatusBarEffects(Color StatusBarColor, bool IsDarkTheme = false)
{
if (IsDarkTheme)
{
Device.BeginInvokeOnMainThread(() =>
{
UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.LightContent, false);
UIView statusBar = UIApplication.SharedApplication.ValueForKey(new NSString("statusBar")) as UIView;
if (statusBar.RespondsToSelector(new ObjCRuntime.Selector("setBackgroundColor:")))
{
statusBar.BackgroundColor = StatusBarColor.ToUIColor();
}
});
}
else
{
Device.BeginInvokeOnMainThread(() =>
{
UIApplication.SharedApplication.SetStatusBarStyle(UIStatusBarStyle.BlackOpaque, false);
UIView statusBar = UIApplication.SharedApplication.ValueForKey(new NSString("statusBar")) as UIView;
if (statusBar.RespondsToSelector(new ObjCRuntime.Selector("setBackgroundColor:")))
{
statusBar.BackgroundColor = StatusBarColor.ToUIColor();
}
});
}
}
答案 0 :(得分:0)
我已经找到解决方法。
我添加了一个视图,该视图具有当应用程序是任务管理器视图时要显示的颜色。该视图位于主视图和安全区域之间。
该视图将在系统栏下方,但是当应用转到任务管理器(或应用切换屏幕)时,该视图将变为可见。
可能有更好的解决方法,但这是我使它起作用的唯一方法!