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

本文首发地址

本文介绍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];

也可以添加"洲洲哥"的微信公众号

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容