前言
在iOS开发中状态栏字体颜色有两种,即黑色(UIStatusBarStyleDefault)和白色(UIStatusBarStyleLightContent)。本文记录下如何设置状态栏字体颜色为白色(前提是有导航控制器包含)。
1.APP所有界面的状态栏字体颜色都为白色
系统默认状态栏字体颜色为黑色,那么如何改成白色呢?
a.需要设置View controller-based status bar appearance为NO,
b.设置status bar style 为UIStatusBarStyleLightContent。
所有界面均为白色.png
2.APP某些界面状态栏字体颜色为白色
a.需要设置View controller-based status bar appearance为YES,系统默认为YES可不设置
设置status bar style 为UIStatusBarStyleDefault,系统默认为default可不设置
b.自定义一个基类导航控制器重写preferredStatusBarStyle方法
导航控制器.m文件
屏幕快照 2016-08-20 上午11.42.49.png
- (UIStatusBarStyle)preferredStatusBarStyle
{
UIViewController* topVC = self.topViewController;
return [topVC preferredStatusBarStyle];
}
iOS提供了preferredStatusBarStyle方法给控制器来控制状态栏的颜色,但是由于导航控制器的存在,直接在控制器中写这个方法是不会执行的,因此需要在导航控制器中重写这个方法,让导航控制器的栈顶控制器来执行这个方法。
c.在需要设置的控制器中添加preferredStatusBarStyle方法
控制器.m文件,用上面的基类导航控制器包含这个控制器
- (UIStatusBarStyle)preferredStatusBarStyle
{
return UIStatusBarStyleLightContent;
}
网友评论