不疯不成魔

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1、在不同的应用中,有关状态栏的样式是不定的,系统的默认样式是黑色的,然而有一些应用是需要白色的,所以就需要进行相关的设置,设置状态栏的样式有2种方式,下面分别讲述一下。 
2、方法一:

直接在需要改变默认状态栏样式的控制器中实现一个方法(其他任何事情都不用做):

// 返回状态栏的样式
- (UIStatusBarStyle)preferredStatusBarStyle{
    return UIStatusBarStyleLightContent;
}
// 控制状态栏的现实与隐藏
- (BOOL)prefersStatusBarHidden{
    return YES;
}

 

这个方法会在界面调用的时候实现,并且只能作用于实现此方法的当前控制器中,对其他界面的设置不产生任何影响(如果所有控制器都没有设置,当当前控制器消失的时候,状态栏会恢复至系统默认的状态)。

利用这种方式设置后,[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;这种设置方式无论在什么地方设置都是不起作用的。

3、方法二: 
在info.plist文件中添加一个属性航,选中表空白地方,右键选中Add Row, 然后在列表中选中最后一个选项,也就是View controller-based status bar appearance,设置为No(不支持在文件中设置状态栏样式),然后在AppDelegate中写上[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent,这样的话,全局的状态栏样式就OK了。其他的界面如果想要改变样式的话,直接用 
[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;修改就可以了。

posted on 2017-11-16 14:15  不疯不成魔  阅读(1041)  评论(0编辑  收藏  举报