在UIStatusBar上显示UIWindow后,UIStatusBarStyle发生了变化

Dav*_*ser 15 xcode uiwindow ios uistatusbar

我正在显示一个UIWindow UIStatusBar,默认UIStatusBarStyle设置为UIStatusBarStyleLightContent,但是当我UIWindowUIStatusBarStyle开关显示为黑色样式时.

Tus*_*reb 13

我在遇到同样的问题时遇到了这个话题.您需要做的是创建一个新的视图控制器并将其设置为您的根视图控制器UIWindow(UIWindow即您在其他视图上显示的视图控制器).然后,在这个新的视图控制器中实现如下preferredStatusBarStyle方法:

- (UIStatusBarStyle) preferredStatusBarStyle {
    return UIStatusBarStyleLightContent;
}
Run Code Online (Sandbox Code Playgroud)

或者,您可以将Info.plist中的"基于视图控制器的状态栏外观"属性设置为NO,并[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]按照Azabella的建议实施该方法.但是,这会将所有视图的状态栏设置为白色.如果这没问题,那么就不需要设置单独的视图控制器来设置preferredStatusBarStyle方法.


Aza*_*lla 0

添加此内容,以便当视图出现时它将设置颜色/样式

-(void)viewDidAppear:(BOOL)animated {

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
}
Run Code Online (Sandbox Code Playgroud)