1. viewdidload 设置代理

  1. self.navigationController?.delegate = self

  

2.代理里面指定VC 隐藏

  1. //MARK: - 导航栏delegate
  2. extension JYHomeViewController:UINavigationControllerDelegate {
  3.  
  4. /// 此方法会在controller的viewWillApper方法调用后开始调用(使用时注意controller的生命周期)
  5. func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
  6. if viewController is JYHomeViewController || viewController is JYPhotoBrowserController || viewController is JYRTSRootViewController {
  7. JY_WINDOW?.removeBubbleView()
  8. self.navigationController?.setNavigationBarHidden(true, animated: true)
  9. }else{
  10. self.navigationController?.setNavigationBarHidden(false, animated: true)
  11. }
  12. }
  13. }

  
3. 在根控制器首页 禁用手势, 不管有几个 homeVc, 有俩tabbar 就在俩homeVc都写上

  1. extension JYHomeViewController: UIGestureRecognizerDelegate {
  2. /// 禁止使用手势返回
  3. func forbidhenSideBack() {
  4. self.isCanSideBack = false
  5. if (self.navigationController?.responds(to:#selector(getter: self.navigationController?.interactivePopGestureRecognizer))) == true {
  6. self.navigationController?.interactivePopGestureRecognizer?.delegate = self
  7. }
  8. }
  9. /// 恢复手势返回
  10. func resetSideBack() {
  11. self.isCanSideBack = true
  12. if (self.navigationController?.responds(to:#selector(getter: self.navigationController?.interactivePopGestureRecognizer))) == true {
  13. self.navigationController?.interactivePopGestureRecognizer?.delegate = nil
  14. }
  15. }
  16. func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
  17. return self.isCanSideBack
  18. }
  19. }

  在 willappear 和willDisaapper 使用

  1. override func viewWillAppear(_ animated: Bool) {
  2. super.viewWillAppear(animated)
  3. self.forbidhenSideBack()
  4. }
  5. override func viewWillDisappear(_ animated: Bool) {
  6. super.viewWillDisappear(animated)
  7. self.resetSideBack()
  8. }

  

swift - 指定VC隐藏导航栏 - 禁用tabbar的根控制器手势,防止两个tabbar跳转 手势冲突的更多相关文章

  1. 安卓ROOT后禁用/隐藏导航栏/虚拟按键

    安卓ROOT后禁用/隐藏导航栏/虚拟按键 提醒:提前装好EASY TOUCH 等类似工具. 用ROOT EXPLORER 或 ROOT BROWSER system\bulid.prop 最后加一行: ...

  2. iOS侧滑返回到隐藏导航栏的VC,导航栏会闪现一次

    VCA:是一个隐藏导航栏的页面:VCA在ViewWillAppear生命周期函数中设置导航栏隐藏: //隐藏导航栏 [self.navigationController setNavigationBa ...

  3. AMScrollingNavbar框架(自动隐藏导航栏)使用简介

    AMScrollingNavbar框架是一个可以上拉隐藏导航栏和下拉显示导航栏的框架,这个开源框架的调用也很简单,本章节就给大家介绍一下这个框架的用法. 一.下载及导入框架 AMScrollingNa ...

  4. iOS 滑动隐藏导航栏-三种方式

    /** 1隐藏导航栏-简单- */    self.navigationController.hidesBarsOnSwipe = YES; /** 2隐藏导航栏-不随tableView滑动消失效果 ...

  5. iOS 隐藏导航栏下的黑线

    一.找到导航栏下的黑线 // 寻找导航栏下的黑线 - (UIImageView *)findHairlineImageViewUnder:(UIView *)view { if ([view isKi ...

  6. iOS11关于隐藏导航栏后带有tableView界面出现,下移问题

    //解决iOS11关于隐藏导航栏后带有scrollView界面出现,下移问题 if (@available(iOS 11.0, *)) { self.tableView.contentInsetAdj ...

  7. uwp - 上滑隐藏导航栏下滑显示

    原文:uwp - 上滑隐藏导航栏下滑显示 好久没写博客了,因为忙着工作.昨天周末填坑需要做一个上滑列表数据时隐藏导航栏下滑时显示的效果,下面分享一下我的做法,希望能给你带来帮助. 思路是通过判断滚动条 ...

  8. iOS---实现简书和知乎的上滑隐藏导航栏下拉显示导航栏效果

    因为自己用简书和知乎比较多,所以对其导航栏的效果比较好奇,自己私下里找资料实现了一下.这个效果的关键点在于下方可供滑动的内容的便宜距离inset的改变,以及滑动的scrollview代理的执行,废话不 ...

  9. 在隐藏导航栏的控制器中,调用UIIMagePickerController,出现导航栏变透明的问题

    在隐藏导航栏的控制器中,调用UIIMagePickerController,出现导航栏变透明的问题 解决办法 #pragma mark - UIImagePickerController Delega ...

随机推荐

  1. Elasticsearch之优化

    为什么es需要优化? 答: [root@master elasticsearch-2.4.0]# ulimit -a core file size (blocks, -c) 0 data seg si ...

  2. Spark、Hadoop、Hive相关文章

    1.Spark On Yarn(HDFS HA)详细配置过程 2.Hive安装与配置详解

  3. 对于两个初始时设置为Sensor的刚体,不会触发preSolve和postSolve

    Main.as package{ import Box2D.Common.Math.b2Vec2; import Box2D.Dynamics.b2Body; import Box2D.Dynamic ...

  4. C#使用MonoPInvokeCallback,让C直接回调C#函数

    Test.mm char* TestMakeCString(NSString *str) { const char* string = [str UTF8String]; if (string == ...

  5. linux 内核假死循环导致的问题

    [, comm: -IFileSender Tainted: G B ENX -- ZTE Grantley/S1008 [:[<ffffffff810fb2cb>] [<fffff ...

  6. vue项目动态控制数据变动时箭头样式

    html代码 <div class="top_precent"> <span :class="{arrow:numPrecent<0}" ...

  7. StarRatingBar星星切换动画《IT蓝豹》

    StarRatingBar星星切换动画 StarRatingBar星星切换动画,很久没有学习一下这个RatingBar了,今天来看看这个RatingBar的动画切换效果,本例子主要是RatingBar ...

  8. hdu3826-Squarefree number-(欧拉筛+唯一分解定理)

    Squarefree number Time Limit: 10000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  9. ECharts-初始化方法参数不能传入jquery对象

    ECharts-初始化方法参数不能传入jquery对象

  10. pandas 常用清洗数据(二)

    1. df.head() Here we import pandas using the alias 'pd', then we read in our data. df.head - shows u ...