iOSiOS Developer

iOS设置状态栏字体颜色为白色

2016-08-20  本文已影响565人  Z了个Y

前言

在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;
}
上一篇 下一篇

猜你喜欢

热点阅读