1.iOS7之前采用的方法

UIApplication对象设置(需要更改plist文件中View controller-based status bar appearance选项设置为NO,默认为YES)

第一步就是取plist中把这个选项改成NO,我知道这一大串东西根本记不住!找到Supporting Files->info.plist,右键后选Add Row 就会出现第二个页面,它会提供很多属性,一直往下,最后一个就是View controller-based status bar appearance,这样就不用记这个东西了。

当然改完这个后,你会发现并没有什么卵用。还需设置UIApplication对象,具体代码如下:

[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];//设置状态栏字体为白色[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];//设置状态栏字体为黑色

2.iOS7以后采用的方法

在试图控制器中重写- (UIStatusBarStyle)preferredStatusBarStyle方法。该方法返回是一个UIStatusBarStyle,只要重写该方法,当前视图控制器的状态栏颜色就会改变,例如模态视图。

这个方法看似简单,但是要想在导航控制器中使用,还是要注意很多细节。因为很多APP的中都是有导航栏的,这也是导航栏跟状态栏一起讲解的原因。

先简单介绍一下UINavigationController,刚接触这个的时候,都是大概能懂,大概能用,真的要融会贯通还是有很大的难度。

- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
}

3.设置导航栏的背景颜色来改变

前两种方法是可以不通过导航栏来设置状态栏字体颜色。这里介绍的这个方法也是简单粗暴,同样是在同一个UINavigationController中,

- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
self.navigationController.navigationBar.hidden = YES;
self.navigationController.navigationBar.barStyle = UIStatusBarStyleLightContent;
}
发布评论

分享到:

IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

MySQL 性能调优的10个方法详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。