######最近公司出了这样一个需求,说是要修改Navigation Bar下边细线颜色,我上网Google和百度都没有找到合适的方法,于是自己想了一个临时的方法。原理:navigation bar也是View的子类,那就可以使用addSubview:方法,所以直接覆盖原来的线就好了,直接上代码吧。
# 更改控制器下边细线的颜色
```
[CGSize naviBarSize =self.navigationController.navigationBar.frame.size;
UIImageView *lineImageView = [[UIImageViewalloc]initWithFrame:CGRectMake(0, naviBarSize.height-.5, naviBarSize.width,1)];
lineImageView.backgroundColor= [UIColorwhiteColor];
lineImageView.image= [[UIImageimageNamed:@"nav_border_line.png"]stretchableImageWithLeftCapWidth:10topCapHeight:0.5];
[self.navigationController.navigationBaraddSubview:lineImageView]; ]
```
# tab bar上边细线的颜色更改
```
UIImageView*lineView = [[UIImageViewalloc]initWithFrame:CGRectMake(0, -0.5,self.tabBarController.tabBar.frame.size.width,1)];
lineView.backgroundColor= [UIColor whiteColor];
lineView.image= [[UIImageimageNamed:@"nav_border_line.png"]stretchableImageWithLeftCapWidth:10topCapHeight:0.5];
[self.tabBarController.tabBar addSubview:lineView];
```
####说明
- 1、nav_border_line.png这个就是带颜色的细线切图 高度是1px
- 2、如果使用View覆盖,如果颜色比系统的默认颜色浅,无法覆盖,最好选择ImageView并且imageView的背景颜色设置为白色
网友评论