ios基础:iOS改变状态栏字体颜色详解手机开发

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;
}

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/tech/app/6150.html

(0)
上一篇 2021年7月17日 00:42
下一篇 2021年7月17日 00:42

相关推荐

发表回复

登录后才能评论