本文介绍iOS7以后的状态栏设置宝典
大概自iOS7以后状态栏和导航栏好像穿同一条裤子了,给导航栏设置颜色,状态啦显示的颜色一样
在操作之前 一定要先修改配置文件info.plist
View controller-based status bar appearance 设置为NO
1:设置导航栏和状态栏同色
看图1
代码如下
// 设置颜色
#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
代码如下
/**
状态栏颜色
*/
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效果
/**
* 设置导航栏字体颜色
*/
NSDictionary * attriBute = @{NSForegroundColorAttributeName:[UIColor whiteColor],NSFontAttributeName:[UIFont systemFontOfSize:30]};
[nav.navigationBar setTitleTextAttributes:attriBute];
也可以添加"洲洲哥"的微信公众号