当前位置: 首页 > news >正文

iOS之旅--隐藏(去除)导航栏底部横线

 

iOS之旅--隐藏(去除)导航栏底部横线

iOS开发大部分情况下会使用到导航栏,由于我司的app导航栏需要与下面紧挨着的窗口颜色一致,导航栏底部的横线就会影响这个美观,LZ使用了以下方法。觉得不错,分享来给小伙伴们。


1)声明UIImageView变量,存储底部横线

@interface MyViewController {
    UIImageView *navBarHairlineImageView;
}

 

2)在viewDidLoad中加入:

navBarHairlineImageView = [self findHairlineImageViewUnder:self.navigationController.navigationBar];

 

3)实现找出底部横线的函数

- (UIImageView *)findHairlineImageViewUnder:(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 findHairlineImageViewUnder:subview]; if (imageView) { return imageView; } } return nil; }

 

4)最后在viewWillAppear,viewWillDisappear中处理

- (void)viewWillAppear:(BOOL)animated {
    [super viewWillAppear:animated];
    navBarHairlineImageView.hidden = YES; } - (void)viewWillDisappear:(BOOL)animated { [super viewWillDisappear:animated]; navBarHairlineImageView.hidden = NO; }

 

 



上面使用了一种个人比较喜欢的方法,

下面来一个最简单的:


的。

UINavigationBar *navigationBar = self.navigationController.navigationBar;
// bg.png为自己ps出来的想要的背景颜色。 [navigationBar setBackgroundImage:[UIImage imageNamed:@"bg.png"] forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault]; [navigationBar setShadowImage:[UIImage new]];

 

 

这是唯一一个隐藏这条线的官方用法,但是有一个缺陷-删除了translucency(半透明)


总体来说,第二种办法还是很好地,建议大家使用第二种办法。

转载于:https://www.cnblogs.com/YangFuShun/p/5138544.html

相关文章:

  • JVM内存机制
  • 浅谈MVVM架构
  • Python执行需要经过哪些过程
  • OSI
  • 例题 3-6 环状序列
  • JQuery中使用Ajax实现诸如登录名检测等异步请求Demo
  • java String、Data、Calendar时间转化
  • js 打印
  • Java NIO读书笔记
  • angular
  • Oracle使用总结
  • 通过keepalived实现 MySQL VIP 自动切换
  • Swift - 37 - 值类型和引用类型的简单理解
  • 算法导论 第六章 2 优先队列(python)
  • gdb跟踪应用程序原理浅析
  • 【RocksDB】TransactionDB源码分析
  • CentOS7 安装JDK
  • JavaScript函数式编程(一)
  • java多线程
  • Java小白进阶笔记(3)-初级面向对象
  • linux安装openssl、swoole等扩展的具体步骤
  • Linux链接文件
  • use Google search engine
  • webpack+react项目初体验——记录我的webpack环境配置
  • 程序员该如何有效的找工作?
  • 程序员最讨厌的9句话,你可有补充?
  • 初识 beanstalkd
  • 记录:CentOS7.2配置LNMP环境记录
  • 排序(1):冒泡排序
  • 前端相关框架总和
  • 算法---两个栈实现一个队列
  • 算法系列——算法入门之递归分而治之思想的实现
  • 一天一个设计模式之JS实现——适配器模式
  • ​低代码平台的核心价值与优势
  • ​人工智能书单(数学基础篇)
  • $.ajax中的eval及dataType
  • %@ page import=%的用法
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (MATLAB)第五章-矩阵运算
  • (SpringBoot)第七章:SpringBoot日志文件
  • (分布式缓存)Redis哨兵
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • (转)如何上传第三方jar包至Maven私服让maven项目可以使用第三方jar包
  • (最简单,详细,直接上手)uniapp/vue中英文多语言切换
  • .Net6使用WebSocket与前端进行通信
  • .NET企业级应用架构设计系列之技术选型
  • .NET企业级应用架构设计系列之结尾篇
  • .NET委托:一个关于C#的睡前故事
  • .Net小白的大学四年,内含面经
  • ??javascript里的变量问题
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • [BZOJ3757] 苹果树
  • [C++数据结构](22)哈希表与unordered_set,unordered_map实现
  • [hive] sql中distinct的用法和注意事项