我在UIStatusBar
上显示UIWindow,默认情况下UIStatusBarStyle
设置为UIStatusBarStyleLightContent
,但是当我显示UIWindow
时,UIStatusBarStyle
切换到黑色风格。
我在遇到同样的问题时遇到了这个话题。你要做的是创建一个新的视图控制器并将其设置为UIWindow
的根视图控制器(即你在其他视图中显示的UIWindow
)。然后,在这个新的视图控制器中实现preferredStatusBarStyle
方法,如下所示:
- (UIStatusBarStyle) preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
或者,您可以将Info.plist中的“基于视图控制器的状态栏外观”属性设置为NO,并按照Azabella的建议实施[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]
方法。但是,这会将所有视图的状态栏设置为白色。如果这没问题,那么就不需要设置单独的视图控制器来设置preferredStatusBarStyle
方法。
您是否已将AppName-Info.plist中的“基于控制器的状态栏外观视图”属性设置为NO?
添加它,以便在视图出现时设置颜色/样式
-(void)viewDidAppear:(BOOL)animated {
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}
这是一个相当微不足道的问题,我发现解决了将modalPresentationCapturesStatusBarAppearance
设置为true
。