我正在尝试在运行中更改状态栏颜色,即在加载控制器时没有。我更改了视图的背景颜色,因此我需要将其从黑色更改为白色,反之亦然。
我知道我可以使用preferredStatusBarStyle
和plist中的设置来更改它,但据我所知,它只会在首次启动视图控制器时设置它。我想改变它,例如,当我按下按钮时。
我能这样做吗?
答案 0 :(得分:24)
转到您的应用程序Plist并将其添加为新行&将其设为NO。
View controller-based status bar appearance NO
添加一个bool以确定UIStatusBar
颜色和&的状态。添加切换方法
@property(nonatomic) BOOL black;
-(void)toggleStatuSBar:(id)sender{
if(black) {
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
black = NO;
}else {
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES];
black = YES;
}
}
这是一个Sample ScreenShot
菜单关闭时,颜色为白色。
菜单打开时颜色为黑色
希望有所帮助。
答案 1 :(得分:2)
截至Swift 3:
View controller-based status bar appearance NO
2
怀特:UIApplication.shared.statusBarStyle = .lightContent
黑色:UIApplication.shared.statusBarStyle = .default