iOS导航栏的正确隐藏方式

原创 2016年07月17日 15:01:34
  • 标签:
  • ios /
  • 动画 /
  • iOS导航栏隐藏
  • 33600

简介

在项目中经常碰到首页顶部是无限轮播,需要靠最上面显示.有的设置导航栏为透明等一系列的方法,这个可以借助第三方.或者干脆简单粗暴的直接隐藏掉导航栏.可是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];
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 第二种做法

    • 设置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];
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

Demo:坐飞机

转自:文/倚楼听风雨wing

版权声明:本文为博主原创文章,未经博主允许不得转载。
https://github.com/wangyansnow/WYNagigationDemo

ios中的导航栏的隐藏方式相关推荐

  1. css中侧边导航栏怎么隐藏,CSS3手机侧边导航栏滑动隐藏特效

    [温馨提示]源码包解压密码:www.youhutong.com 效果图: 描述说明: 共4种CSS3手机侧边导航栏滑动隐藏特效 1.默认的点击滑动侧边栏菜单效果. 2.带3D transforms的滑 ...

  2. iOS中设置导航栏标题( titleView)的字体颜色和大小

    在iOS中,经常会对一些导航栏titleView进行自定义,首先介绍一下对navgationBar 上的title设置的三种方法: <1> self.title = @"我是ti ...

  3. IOS 11 适配导航栏、状态栏调整

    在ios中对于导航栏和状态栏调整遇到问题的,请往下看. 如果系统添加导航栏和状态栏满足不了需求,可以尝试自定义制作满足自己需要的,以下提供方法和属性,让你自定义制作. 注意:状态栏  20像素     ...

  4. ios 关于navigationController导航栏隐藏问题

    NavigationController导航栏设置隐藏,不知道你有没有尝试过下面这个方法. self.navigationController.navigationBarHidden = YES; 在 ...

  5. 定制iOS 7中的导航栏和状态栏

    近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也就意味着导航栏 ...

  6. IOS状态栏和导航栏的控制问题

    IOS的项目多数会遇到控制状态栏和导航栏的问题,比如隐藏状态栏.控制状态栏的文字颜色等,导航栏也有同样需求.本文总结一下操作方法. 首先一点,IOS的界面分为状态栏和导航栏,状态栏是指显示电池.时间的 ...

  7. iOS开发-FDFullscreenPopGesture冲突导航栏无法隐藏

    文章目录 问题描述 处理方法 修改源码 不修改源码 问题描述 FDFullscreenPopGesture是iOS平台上很方便使用左滑手势退出的三方库,在使用FDFullscreenPopGestur ...

  8. ios状态栏,导航栏,工具栏,tab栏的位置,附图

    在iOS应用程序开发时,UIKit 框架提供了大量的UI元素共开发者使用.但开发者设计应用程序的用户界面时,一定要记得用户对于系统内置的那一套应用程序已经非常熟悉,所以开发者一定要正确的使用这些UI元 ...

  9. iOS - 解决设置导航栏按钮图片变色的问题

    问题描述 今天在利用以下代码给导航栏按钮设置图片时,发现原本是黑色的切图显示成了蓝色. UIButton *editButton = [UIButton buttonWithType:UIButton ...

  10. IOS 滑动指示导航栏 渐变

    关于导航栏渐变,本人在写APP的时候,发现了各路大神各现其通,其实我觉得这个是个很简单的问题,不需要搞得那么麻烦,对个项目要求整齐来说,一般会建一个工具类,自定义View,各个同事需要的时候,直接调用 ...

最新文章

  1. 关于谨防诈骗的温馨提示
  2. 高考舞弊案背后的“文化魔咒”—— 如何整顿学风?(教育的失败!社会的...)...
  3. php多个构造方法,php多构造器的实例代码
  4. 前端错误日志收集方案
  5. Spring+SpringMVC+Mybatis 多数据源整合
  6. pyqt5搭建的简单的图像处理界面_PyQt5 布局浅析
  7. 关于Mysql服务自动关闭以及无法启动问题的解决办法
  8. redistemplate 设置永不过期_解决密码已过期,拒绝访问问题
  9. CentOS清除用户登录记录和命令历史方法
  10. python写出租车计费系统_用VHDL设计出租车计费系统
  11. 电脑蓝屏问题处理,主要是引导修复
  12. python识别验证码并自动登录_Python完全识别验证码自动登录实例详解
  13. 论频谱中负频率的物理意义
  14. root权限下手动安装open gapps.2022-01-31
  15. RLS递归最小二乘法(Recursive Least Squares)
  16. Adobe中国授权培训中心操作说明—Adobe认证
  17. python判断是否闰年_【python实例】判断输入年份是否是闰年
  18. 拉格朗日插值和牛顿插值的龙格现象
  19. 【杰理AC692X】双LINEIN模式做法
  20. 瓶子破碎的最高安全楼层

热门文章

  1. 云计算基础与应用 第五章 云存储
  2. 生成透明带水印的图片
  3. httpclient 3.1跳过https请求SSL的验证
  4. 机器学习实战——3.4 示例:使用决策树预测隐形眼镜类型
  5. 八爪鱼-自定义模式采集数据_视频教程执行
  6. 微信图片盗链php,微信公众号图片如何实现反防盗链接
  7. 几个常用快速无损压缩算法性能比较
  8. 如何测试短信验证码平台的安全和实用性?
  9. python是一门_人人用Python 篇一:Python是一门人人可掌握的手艺
  10. Linux_Centos7在安装Mysql常见错误依赖时失败——error: Failed dependencies:mariadb-libs is obsoleted