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

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {if (self.viewControllers.count >= 1) {viewController.hidesBottomBarWhenPushed = YES; [super pushViewController:viewController animated:animated];viewController.navigationController.interactivePopGestureRecognizer.enabled = YES;} else {[super pushViewController:viewController animated:animated];}
}

因为count = 0的话没有上一级.这时候如果还允许侧滑就崩溃.然而如果我们自定义了导航栏的leftbarbutonitem.那么侧滑手势还是失效.

这是因为我们的viewController.navigationController.interactivePopGestureRecognizer.delegate被重置了.所以应该修改为如下代码

- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated {if (self.viewControllers.count >= 1) {viewController.hidesBottomBarWhenPushed = YES; [super pushViewController:viewController animated:animated];viewController.navigationController.interactivePopGestureRecognizer.enabled = YES;viewController.navigationController.interactivePopGestureRecognizer.delegate = nil;} else {[super pushViewController:viewController animated:animated];}
}

禁用以及使用注意点:

千万不能在viewwillappear里头设置.因为在viewwillappear里头设置的话侧滑返回可能会卡死.

正确姿势是关闭在viewdidappear里头做.

最后,建议大家所有的UIViewController的View都设置一个背景色,一般都设置为[UIColor whiteColor];

iOS导航栏侧滑手势启用/禁用弃用正确姿势相关推荐

  1. iOS 导航栏隐藏和显示

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

  2. iOS导航栏使用总结

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

  3. android studio 顶部导航栏_Android10 手势导航开发与处理:边到边(I)

    这是我们有关"手势导航"系列的第一篇文章. 借助Android 10,已添加了新的系统导航模式,允许用户向后导航,导航至主屏幕并通过手势触发设备助手. Android 10 中新手 ...

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

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

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

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

  6. iOS开发之侧滑手势返回功能

    废话 对于模态出来的viewcontroller,我们往往无法使用侧滑返回功能.但是我们都知道可以用dismiss去返回,不过对于大部分用户大大来说并不关心什么模态不模态的,我既然花了学习成本去熟悉你 ...

  7. iOS 导航栏遮挡问题 --- iOS开发系列 ---项目中成长的知识七

    不知大家有没有遇见过自己写的tableview被导航栏遮挡住的问题,反正我是遇见过! 因为在ios7以后所有的UIViewController创建后默认就是full Screen的,因此如果带导航栏的 ...

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

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

  9. iOS 导航栏遮挡视图

    导航栏遮盖视图 iOS7 之前: UINavigationBar 的 translucent 属性默认 NO. (导航栏默认完全不透明) iOS7 之后: UINavigationBar 的 tran ...

最新文章

  1. getElementByName????????,????????,
  2. 前端学习之day02-CSS基础
  3. fitbit手表中文说明书_如何获取和分析Fitbit睡眠分数
  4. P4781-[模板]拉格朗日插值
  5. catia钣金根据线段折弯_钣金折弯加工注意事项有哪些?钣金折弯要点介绍
  6. Java InputStreamReader getEncoding()方法及示例
  7. java 通过id获取html代码_Maven私服安装配置,java通过私服下载代码,并打包后上传到私服(Nexus)...
  8. Java已死?九百万程序员说不
  9. QT_StepByStep(2)--滑动杆的实现
  10. 中国大陆物联网驶入快车道 台商抢上车
  11. 自动驾驶—全局定位的学习笔记
  12. java基础学习总结——流
  13. H5大转盘抽奖,概率可以控制,可直接使用
  14. 腹式呼吸法:腹式呼吸法
  15. angular使用高德地图
  16. 计算机应用于设计,计算机工程与设计期刊_计算机工程与设计_计算机工程与应用...
  17. 升级bigsur_2年内彻底摆脱英特尔,苹果重磅发布自研Mac芯片,并对“五大系统”再升级...
  18. 动画(重点)~~~~~
  19. 做大数据可视化分析的软件和工具有哪些?
  20. 电缆 电流_如何不用电缆观看每项运动(运动返回时)

热门文章

  1. xMate 七轴柔性协作机器人
  2. linux so文件的制作,Linux下动态链接库*.so的编译与使用(二)
  3. 将可信执行环境与区块链相结合
  4. 没有经验的seo专员
  5. vue上传图片加水印;js上传图片添加水印;vue给图片添加水印;canvas图片添加水印;canvas画布导出图片
  6. 计算机新手教程装系统,新手怎么用u盘重装电脑系统|新手重装电脑系统
  7. iOS逆向--dumpdecrypted砸壳
  8. 《Outlook时间整理术》一让Outlook对收件箱进行预分类
  9. 学习Linux性能优化实战-1
  10. 吭哧吭哧开发2周,老板突然说这个功能不要了。。。