简介

在项目中经常碰到首页顶部是无限轮播,需要靠最上面显示.有的设置导航栏为透明等一系列的方法,这个可以借助第三方.或者干脆简单粗暴的直接隐藏掉导航栏.可是push到下一个页面的时候是需要导航栏的,如何做了,这里给出两种方法.

  • 第一种做法
    -注意这里一定要用动画的方式隐藏导航栏,这样在使用滑动返回手势的时候效果最好,和上面动图一致.这样做有一个缺点就是在切换tabBar的时候有一个导航栏向上消失的动画.
- (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:animated];[self.navigationController setNavigationBarHidden:YES animated:YES];
}- (void)viewWillDisappear:(BOOL)animated {[super viewWillDisappear:animated];[self.navigationController setNavigationBarHidden:NO animated:YES];
}
  • 第二种做法

    • 设置self为导航控制器的代理,实现代理方法,在将要显示控制器中设置导航栏隐藏和显示,使用这种方式不仅完美切合滑动返回手势,同时也解决了切换tabBar的时候,导航栏动态隐藏的问题.
@interface WLHomePageController () <UINavigationControllerDelegate>@end@implementation WLHomePageController #pragma mark - lifeCycle
- (void)viewDidLoad {[super viewDidLoad];// 设置导航控制器的代理为selfself.navigationController.delegate = self;
}#pragma mark - UINavigationControllerDelegate
// 将要显示控制器
- (void)navigationController:(UINavigationController *)navigationController willShowViewController:(UIViewController *)viewController animated:(BOOL)animated {// 判断要显示的控制器是否是自己BOOL isShowHomePage = [viewController isKindOfClass:[self class]];[self.navigationController setNavigationBarHidden:isShowHomePage animated:YES];
}

Demo:坐飞机

转自:文/倚楼听风雨wing

iOS导航栏的正确隐藏方式相关推荐

  1. iOS 导航栏隐藏和显示

    1: 导航栏隐藏.显示之间跳转 iOS 导航栏对于隐藏造成的动画 可以通过在 viewWillAppear 和 viewWillDisappear 来设置完成 - (void)viewWillAppe ...

  2. 实现导航栏渐变色,隐藏(类似知乎日报的主界面)

    参考文章 [瞎搞iOS开发02]监听ScrollView/TableView滚动的正确姿势 适配iOS11–contentInsetAdjustmentBehavior 把UIColor(纯色值)对象 ...

  3. iOS导航栏使用总结

    点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 作者:风恣 文:https://www.jianshu.com/p/50cd38f2772 ...

  4. ios 导航栏(自己定义和使用系统方式)

    系统方式: //1.设置导航栏背景图片[self.navigationController.navigationBar setBackgroundImage:[[UIImage alloc] init ...

  5. iOS导航栏侧滑手势启用/禁用弃用正确姿势

    一般我们如此设置手势侧滑(1.先建一个NAV的子类.然后重写Push方法) - (void)pushViewController:(UIViewController *)viewController ...

  6. iOS导航栏遮挡问题的总结

    一.背景:在做开发的时候经常不经意就出现导航栏遮挡主视图的情况,之前出现这种情况我会先看看View UI Hierarchy,然后把视图的坐标手动调整,例如把视图的y坐标写成64(建议封装成宏,因为有 ...

  7. 自定义iOS导航栏背景,标题和返回按钮文字颜色-----转载自gyz413977349

    在iOS7下,默认导航栏背景,颜色是这样的,接下来我们就进行自定义,如果你仅仅是更改一下背景和颜色,代码会很简单,不需要很复杂的自定义View来替代leftBarItem 更改导航栏的背景和文字Col ...

  8. 通过ADB调整隐藏状态栏或导航栏,如隐藏S8、华为等手机巨丑的导航栏,提高屏占比!

    声明:该文章部分来源于网络,若有侵权,请作者与我联系,便于附上署名.强迫症患者小水就喜欢标题前全是原创,望各位海涵,海不了可以顺着网线来打我啊!!!!!!!!!!!!!! -------------- ...

  9. iOS导航栏标题错乱的解决方法

    一般隐藏和显示导航栏,只要在基类如下写就好: -(BOOL)needHiddenNavigationBar:(UIViewController *)vc{BOOL isHidden = NO;if ( ...

  10. Android 更改导航栏颜色及隐藏导航栏

    隐藏导航栏 Window window = getWindow();window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LA ...

最新文章

  1. iOS开发网络篇—搭建本地服务器(待整理)
  2. 皮一皮:我好像知道了什么...
  3. jdbc和mysql面试题_JDBC数据访问技术面试题(附答案)
  4. map构造同时初始化
  5. GIS Portal的一个例子(http://www.geodata.gov/gos)
  6. 逆天了!小米将首发一亿像素手机
  7. 【Java并发编程:volatile关键字之解析】
  8. 为什么移动硬盘不建议插在台式机前置USB接口上?
  9. zookeeper原理,与集群部署
  10. graphpad做饼图_超省钱的早餐攻略!这些边角料可别扔,多做一步变大餐!
  11. CSS部分设置背景颜色为半透明
  12. 如何用UE4制作2D游戏文档(五)——战斗篇
  13. python语法错误怎么办_Python中出现语法错误时解决方法
  14. Tools介绍:最快的DicomViewer软件 - RadiAnt Dicom Viewer
  15. U盘删除文件时提示“文件或目录损坏且无法读取”的解决方法
  16. Windows Server 2016-Win Ser 2016已删减内容
  17. 前后端分离项目全环境搭建(Ruoyi框架)
  18. 国产Linux系统再添一员猛将,颜值完全不输苹果!
  19. 年轻一代程序员:社牛、不卷、玩开源
  20. Android学习---zygote(上)

热门文章

  1. win10设置计算机关机时间,Win10怎么设置自动关机时间_Win10设置自动关机教程-192路由网...
  2. Windows批量修改文件或文件夹名称
  3. 计算机主板上安装配件的扩展槽主要有哪些,21.主板篇-主板上都有哪些扩展插槽-电脑自学网...
  4. “24岁,一门手艺,年入百万”:真正厉害的人,都做到了这4件事
  5. 【计算机网络】网络层 : 数据交换方式 ( 电路交换 | 报文交换 | 分组交换 )★
  6. HTML制作菜鸟教程首页
  7. koa2异常处理_【HAVENT原创】KOA2 异常处理
  8. 《高效人士的七个习惯》读后感-总结
  9. Java语言泛型方法
  10. 计算机程序员的英语词汇,计算机程序员常用英语词汇