当APP启动时,我们首先看到的是启动图,这时,如果状态栏也跟着显示出来,会显得很难看,能不能在启动的时候隐藏状态栏,启动后再显示出来呢?
今天,我们就来讨论一下这个问题:
在另一篇文章UIStatusBarStyle修改状态栏样式,我介绍了如何修改状态栏的样式,有兴趣的话可以参考一下;
先来介绍一下共同需要的操作:
首先,在Info.plist文件添加字段View controller-based status bar appearance
,类型为Boolean
,设置为YES
:
PS: 这里如果设置为NO,状态栏的设置将不受代码的控制
然后,在工程设置General-->Deployment Info-->Status Bar Style下,勾选Hide status bar,暂时将状态栏隐藏:
隐藏状态栏最后,添加代码,在APP启动后,使状态栏重新显示:
在需要显示状态栏的UIViewController内重写下面的方法,即可显示状态栏:
- (BOOL)prefersStatusBarHidden {
return NO;
}
如果要改变状态栏的样式,可重写下面的方法:
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}
这样,即可在APP启动时隐藏状态栏,然后在启动后重新显示状态栏,并将状态栏的样式改为白色的;
注意: 这里的设置是在没有导航的情况下有效的,当含有导航时,方法preferredStatusBarStyle
的设置是无效的,prefersStatusBarHidden
不受影响;
如果,想要修改状态栏的样式,可使用下面的方法:
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
关于这个,我在UIStatusBarStyle修改状态栏样式中也有介绍,有兴趣的同学,可以去看看.
以上便是笔者对此的理解,如果有不正确的地方,或者你有其他更好的方法,还请告知,感谢!!!
网友评论