如何去除tabBar的上横线和navigationBar的下横线
来源:互联网 发布:淘宝立即购买链接代码 编辑:程序博客网 时间:2024/04/29 04:28
今天做项目,按照需求,需要作成这个样子。
不显示出navigationBar的那个线。
在介绍navigationBar的那个线之前,我想先说一下tabBar上方的拿刀线。
首先,我们可以打印一下tabBar上的控件们。
得到以下控件:
我们可以看到里面有一个UIImageView 高度为0.5.
也就是那个虚线。
所以说,我们想更改tabBar的线,就对这个UIImageView操作。
代码来了。
for (UIView *lineView in self.tabBarController.tabBar.subviews) { if ([lineView isKindOfClass:[UIImageView class]] && lineView.bounds.size.height <= 1) { UIImageView *lineImage = (UIImageView *)lineView; //更改线的颜色 //lineImage.backgroundColor = [UIColor redColor]; //隐藏 lineImage.hidden = YES; } }
接下来,我们继续说一下去除navigationBar的下横线:
那NavgationBar里面是不是也会有UIImageView呢
首先我们也打印一下 navigationBar
我们会发现,里面并没有所谓的UIImageView:
但是如果你用xcode的那个层次结构图,你可以看到
箭头指向的就是那个UIImageView
所以,我们只需要修改UIImageView的属性,也就可以做到我们想要的了。
修改NavigationBar的横线有两种办法。
1.直接修改UIImageView:
优点:简单粗暴,省代码;
缺点:navigationBar的半透明效果没了。
- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault]; self.navigationController.navigationBar.shadowImage = [UIImage new];}
2.利用递归拿到子控件中的那个横线子控件,
利用ViewController的生命周期,在ViewDidLoad中拿到横线line,
在ViewWillAppear中隐藏。
优点:navigationBar的半透明效果存在
缺点:代码稍微复杂一点点。
@interface ZDProfileController (){ UIImageView * line ;}- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = ZDColor_White; line = nil; line = [self navigationBarLine:self.navigationController.navigationBar];}- (UIImageView *)navigationBarLine:(UIView *)view{ // 符合条件返回控件 if ([view isKindOfClass:UIImageView.class] && view.bounds.size.height <= 1.0) { return (UIImageView *)view; } // 递归查找 for (UIView *subview in view.subviews) { UIImageView *imageView = [self navigationBarLine:subview]; if (imageView) { return imageView; } } return nil;}- (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; line.hidden = YES;}
以上就是,去除tabBar的上横线和navigationBar的下横线的方法。
如果确实帮助到您,请给顶一下。
有不懂的欢迎留言。
0 0
- 如何去除tabBar的上横线和navigationBar的下横线
- 如何去除tabBar的上横线和navigationBar的下横线
- 去除tabBar的上横线和navigationBar的下横线方法介绍
- NavigationBar 下面的横线是怎么来的? 如何去除?
- NavigationBar 下面的横线是怎么来的? 如何去除?
- Swift下怎么去除Navigationbar下方的横线
- iOS去除导航栏和tabbar的1px横线
- iOS去除导航栏和tabbar的1px横线
- iOS去除导航栏和tabbar的1px横线
- iOS去除导航栏和tabbar的1px横线
- iOS去除导航栏和tabbar的1px横线
- 如何去掉 NavigationBar 下方的横线
- 去掉 TabBar 上部横线以及 navigationBar 下部横线的方法探讨
- 论文首页修改记录上的横线如何去除?
- 去除tabBar上方横线
- 移除navbar下横线 和 tabbar上横线 颜色转图片
- 去掉navigationBar下的横线,以及产生的影响
- 去掉导航栏或者tabbar上的横线
- 注解知识点总结
- C++第二次试验——ATM模拟
- Linux学习笔记--命令行下的常用快捷键
- 一维颜色分布直方图
- 【js】设为首页和收藏本站
- 如何去除tabBar的上横线和navigationBar的下横线
- poj1185(状态压缩dp)
- 礼拜四log~java函数replaceAll报错解决方案 & 一些常用jq方法 & java函数addAll
- 信号量(CSemaphore)——MFC
- 四只虫子问题
- c++作业2
- Java反射获取实际泛型类型参数
- java连接Access数据库
- command+shift+G根据路径跳转到文件夹