去除tabBar的上横线和navigationBar的下横线方法介绍
2016-05-28 17:54
525 查看
去除tabBar的上横线和navigationBar的下横线方法介绍
2016-03-25 0 个评论
来源:qq_33777090的博客
收藏
我要投稿
标签:iOS导航条横线navigation隐藏
今天做项目,按照需求,需要作成这个样子。
不显示出navigationBar的那个线。
在介绍navigationBar的那个线之前,我想先说一下tabBar上方的拿刀线。<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPsrXz8ijrM7Sw8e/ydLUtPLTodK7z8J0YWJCYXLJz7XEv9i8/sPHoaM8YnIgLz4NCrXDtb3S1M/Cv9i8/qO6PGJyIC8+DQo8aW1nIGFsdD0="tabBar上的控件" src="http://www.2cto.com/uploadfile/Collfiles/20160325/20160325145457319.png"
title="\" />
我们可以看到里面有一个UIImageView 高度为0.5.
也就是那个虚线。
所以说,我们想更改tabBar的线,就对这个UIImageView操作。
代码来了。
1
2
3
4
5
6
7
8
9
10
11
接下来,我们继续说一下去除navigationBar的下横线:
那NavgationBar里面是不是也会有UIImageView呢
首先我们也打印一下 navigationBar
我们会发现,里面并没有所谓的UIImageView:
但是如果你用xcode的那个层次结构图,你可以看到
箭头指向的就是那个UIImageView
所以,我们只需要修改UIImageView的属性,也就可以做到我们想要的了。
修改NavigationBar的横线有两种办法。
1.直接修改UIImageView:
优点:简单粗暴,省代码;
缺点:navigationBar的半透明效果没了。
1
2
3
4
5
6
7
8
2.利用递归拿到子控件中的那个横线子控件,
利用ViewController的生命周期,在ViewDidLoad中拿到横线line,
在ViewWillAppear中隐藏。
优点:navigationBar的半透明效果存在
缺点:代码稍微复杂一点点。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
以上就是,去除tabBar的上横线和navigationBar的下横线的方法。
如果确实帮助到您,请给顶一下。
有不懂的欢迎留言。
转自:http://www.2cto.com/kf/201603/495455.html
2016-03-25 0 个评论
来源:qq_33777090的博客
收藏
我要投稿
如何去除tabBar的上横线和navigationBar的下横线
标签:iOS导航条横线navigation隐藏
今天做项目,按照需求,需要作成这个样子。
不显示出navigationBar的那个线。
在介绍navigationBar的那个线之前,我想先说一下tabBar上方的拿刀线。<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4NCjxwPsrXz8ijrM7Sw8e/ydLUtPLTodK7z8J0YWJCYXLJz7XEv9i8/sPHoaM8YnIgLz4NCrXDtb3S1M/Cv9i8/qO6PGJyIC8+DQo8aW1nIGFsdD0="tabBar上的控件" src="http://www.2cto.com/uploadfile/Collfiles/20160325/20160325145457319.png"
title="\" />
我们可以看到里面有一个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; } }
1
2
3
4
5
6
7
8
9
10
11
接下来,我们继续说一下去除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]; }
1
2
3
4
5
6
7
8
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; }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
以上就是,去除tabBar的上横线和navigationBar的下横线的方法。
如果确实帮助到您,请给顶一下。
有不懂的欢迎留言。
转自:http://www.2cto.com/kf/201603/495455.html
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用开发中AFNetworking库的常用HTTP操作方法小结
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略
- iOS应用中UITableView左滑自定义选项及批量删除的实现
- iOS中UIAlertView警告框组件的使用教程
- 浅析iOS应用开发中线程间的通信与线程安全问题
- 检测iOS设备是否越狱的方法
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- Android、iOS和Windows Phone中的推送技术详解