最近几天接触到了这个,这里也想记录下它的使用,如果我们想程序一启动也就是在启动图中不要显示电池栏的话我们可以在target配置中进行配置
这样原先是这样显示的
现在变成了这样
之后再去看info.plist文件中也是给我们加了一启动的时候隐藏电池栏
以及如果我们想自己用UIApplication代码去控制我们app界面的状态栏的展示,我们就需要去在info.plist文件中加一行设置了NO,如果上面的Status bar is initially hidden设置为了YES,以及下面设置为了NO,那么电池栏其实就已经被全局隐藏了。当下面取值为YES时,表示控制器对状态栏的设置的优先级高于application,这样我们通过application对状态栏进行的设置也就是说通过 [UIApplication sharedApplication].statusBarHidden=YES;将不起作用。
也就是说设置为NO之后,下面的代码不会被调用,当设置为YES之后就会被调用
- (BOOL)prefersStatusBarHidden{
return NO;
}
然后我们在上面的View controller-based status bar appearance设置为NO的在代码中去设置显示电池栏,这里是去做全局显示出来
如果我们上面的两个键值都没设置,使用下面这行代码是没有效果的
[UIApplication sharedApplication].statusBarHidden=YES;
但是在控制器里面使用就是有效果的
- (BOOL)prefersStatusBarHidden{
return YES;
}
以及有一个坑我们上面的键值也都没有设置,我们让一个nav包装了一个普通的viewController,然后我们必须先去设置了下面这句代码,修改bar的style
[self.navigationController.navigationBar setBarStyle:UIBarStyleBlack];
下面去设置才有效果
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
如果我们再去设置tintColor
self.navigationController.navigationBar.barTintColor = [UIColor greenColor];
得到的效果如下所示
如果没有nav,我们直接去设置下面的就可以用了
-(UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
还有可以修改的就是当我们把上面的View controller-based status bar appearance设置为NO之后也可以用下面的来修改
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];