去除tabBar的上横线和navigationBar的下横线方法介绍
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

去除tabBar的上横线和navigationBar的下横线方法介绍相关推荐

  1. 如何去除tabBar的上横线和navigationBar的下横线

    如何去除tabBar的上横线和navigationBar的下横线 标签: iOS导航条横线navigation隐藏 2016-03-24 10:45  43人阅读  评论(0)  收藏  举报 版权声 ...

  2. html5上拉下拉刷新,APP 上拉加载,下拉刷新 介绍

    开发APP时,很多时候都会用上,上拉加载数据,下拉刷新等功能,本文件介绍两种. 一种是原生APP自带的上拉加载,下拉刷新功能,一种是用JS 插件写的上拉加载,下拉刷新. 1.原生APP 的 上拉加载, ...

  3. SAP 电商云 Spartacus UI 去除 Checkout 页面 header 和 footer 区域的几种方法介绍

    1 distraction-free checkout 如何移除 checkout 页面的 footer 和 header 方法1 - 把 checkout CMS page 的header 和 fo ...

  4. [react] 在React中如果去除生产环境上的sourcemap?

    [react] 在React中如果去除生产环境上的sourcemap? GENERATE_SOURCEMAP=false react-scripts build If you use the Crea ...

  5. 怎么用计算机批改试卷,试卷弄横线_在电脑上出试卷时答题的横线怎么打_淘题吧...

    ⑴ 老师改完试卷为什么要在分数下面画横线 学生时代过来的我们大概最熟悉的就是试卷了,中国的孩子都是在试卷里打天下的,可是你有没有注意过老师在试卷的分数底下都要画两条横线,你想知道这是什么原因吗? 出现 ...

  6. 去除桌面快捷方式上的小箭头

    电脑桌面上默认快捷方式左下角是有个小箭头的.很多用户可能不习惯快捷方式小箭头.那怎么去掉呢? 方式一 1.新建一个TXT文档(文档的名称自己顺便命名即可),然后把下面的这些英文全部复制到TXT文档内保 ...

  7. iphone标记无法储存更改_技巧 | 教你去除iPhone设置上烦人的“1”

    原标题:技巧 | 教你去除iPhone设置上烦人的"1" 苹果最近向iPhone用户推送了iOS 9.3.3的更新,但是总有人因为各种原因不愿意更新的系统,这时候,在设置图标的右上 ...

  8. 如何去除已卸载程序在 “选择在任务栏上显示哪些图标“ 选项下的显示

    本篇解决的问题内容为: 如何去除已卸载程序在 "选择在任务栏上显示哪些图标" 选项下的显示 (前情提要: 前些日子下了个罗技外设专用的GHUB,发现想下的东西不是这个就用Geek ...

  9. android 7.0平台客制化虚拟导航按键(隐藏NavigationBar,上滑显示NavigationBar)

    如图,需求是增加一个按钮可以隐藏NavigationBar,上滑显示NavigationBar. 参考文章: Android 8.1平台客制化虚拟导航按键 Android 7.0 虚拟按键(Navig ...

最新文章

  1. centos使用镜像源轻松配置golang+vscode的方法
  2. python并发发送http请求_用python异步发送http请求来提升效率
  3. linux内核中的GPIO系统之(4):pinctrl驱动的理解和总结
  4. 如何查看数据库索引的利用率?
  5. 喜报!阿里云自研云原生数据仓库 AnalyticDB 获奖啦!
  6. js根据应纳税所得额计算税金
  7. c语言 数组扩容,数组的扩容
  8. 生成高清缩略图; 添加图片、文字水印; 图片、文字水印透明
  9. 什么样的外链才是高质量的外链|网站优化
  10. Node.js学习(第一章:Node.js安装方法及模块化理解)
  11. 买了两年CSDN年VIP,用着实在太爽
  12. tensorflow安装
  13. Ruby编程语言面试题库和答案(语法、代码)
  14. Android 获取手机Ram 和 Rom大小
  15. JavaScript字符统计出现次数
  16. 数学建模与计算机专业的关系,数学建模与计算机的重要性.doc
  17. C#中XML、JSON、类T数据格式之间的转换
  18. HyperAI超神经已加入群聊,思否 AIGC Hackathon 扩列
  19. 工程力学(13)—扭转二:等值圆轴横截面上的应力
  20. Java开发指南!java生成word文档修改样式

热门文章

  1. 计算机专业外出交流方案,外出学习考察工作方案
  2. python刷b站视频浏览量_python + selenium 刷B站播放量的实例代码
  3. 5000字学习C语言错误处理的四种方式。
  4. 电力有偿辅助服务划分标准的再认识
  5. HTC G7 连接隐藏SSID的WIFI
  6. 基于51单片机温湿度报警器设计LCD1602液晶仿真实训开发智能学习资料
  7. 那些年我们追过的拳皇
  8. 小福利,turtle库画了一个小风车
  9. 医学图像处理 |——RGB、灰度、索引图像相互转换
  10. Simple Gestures on Android