美文网首页专注iOS开发(OC/Swift)
iOS分开设置状态栏和导航栏

iOS分开设置状态栏和导航栏

作者: 洲洲哥 | 来源:发表于2016-01-06 17:49 被阅读2049次

    本文首发地址

    本文介绍iOS7以后的状态栏设置宝典

    大概自iOS7以后状态栏和导航栏好像穿同一条裤子了,给导航栏设置颜色,状态啦显示的颜色一样

    在操作之前 一定要先修改配置文件info.plist

    AC8A1F95-7F48-4C6F-9676-2B752723CB30.png

    View controller-based status bar appearance 设置为NO

    1:设置导航栏和状态栏同色

    看图1

    1.png

    代码如下

    // 设置颜色
    #define TCOLOR(r, g, b, a) [UIColor colorWithRed:r/255.0f green:g/255.0f blue:b/255.0f alpha:a]
    

    // 设置导航栏背景色

       [[UINavigationBar appearance] setBarTintColor:TCOLOR(12, 73, 123, 1)];
    

    可见设置了导航栏的颜色,那状态栏自己就跟着导航栏的颜色进行改变。

    2:分别设置导航栏和状态栏的背景

    从iOS7以后他们俩何为一头,所以就添加一个替代的view来控制状态栏

    如图2

    2.png

    代码如下

    /**
         状态栏颜色
         */
        UIView *statusBarView = [[UIView alloc] initWithFrame:CGRectMake(0, -20, 320, 20)];
        statusBarView.backgroundColor = TCOLOR(6, 6, 6, 1);
        /**
         *  更改状态栏字体为白色   默认为黑色
         */
        [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    
    /// 想navigation的navigationBar上添加状态栏
    [nav.navigationBar addSubview:statusBarView];
    

    2:设置导航栏标题的颜色和字体
    如图1效果

    1.png
    /**
         *  设置导航栏字体颜色
         */
        NSDictionary * attriBute = @{NSForegroundColorAttributeName:[UIColor whiteColor],NSFontAttributeName:[UIFont systemFontOfSize:30]};
        [nav.navigationBar setTitleTextAttributes:attriBute];
    

    如有问题可添加我的QQ:1290925041
    还可添加QQ群:234812704(洲洲哥学院)
    欢迎各位一块学习,提高逼格!
    也可以添加洲洲哥的微信公众号

    相关文章

      网友评论

        本文标题:iOS分开设置状态栏和导航栏

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