美文网首页iOS 开发
iOS改变状态栏字体颜色的几种方法

iOS改变状态栏字体颜色的几种方法

作者: Y像梦一样自由 | 来源:发表于2016-07-14 10:44 被阅读3048次

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;

}

相关文章

网友评论

    本文标题:iOS改变状态栏字体颜色的几种方法

    本文链接:https://www.haomeiwen.com/subject/ncgzkttx.html