美文网首页iOSiOS Developer
iOS设置状态栏字体颜色为白色

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

作者: Z了个Y | 来源:发表于2016-08-20 12:08 被阅读565次

    前言

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

    相关文章

      网友评论

      本文标题:iOS设置状态栏字体颜色为白色

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