iOS开发之导航栏各种右滑返回失效的解决方法汇总

 更新时间:2018年08月21日 15:43:49   作者:Jonzzs  
这篇文章主要给大家总结介绍了关于iOS开发教程之导航栏各种右滑返回失效的解决方法,文中通过示例代码介绍的非常详细,对各位iOS具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言


众所周知iOS 的几乎全部页面都是需要右滑返回的,否则用户体验会大打折扣,但是在开发过程中经常会碰到某些页面右滑返回失效的情况,下面记录一下各种情况下右滑返回失效的解决方法。

下面话不多说了,来随着小编一起学习学习吧

自定义返回按钮时失效

当你重写 self.navigationItem.leftBarButtonItem 之后,自带的返回按钮就会被覆盖,右滑返回就会失效,解决办法只要加入下面这句代码即可。

- (void)viewDidLoad {
 [super viewDidLoad];

 // 解决右滑返回失效问题
 self.navigationController.interactivePopGestureRecognizer.delegate = self;
}

然后你可以使用下面这句代码来控制是否允许右滑返回,这句代码要加在 viewDidAppear 里面,否则多个页面切换时会出现异常。

- (void)viewDidAppear:(BOOL)animated {
 [super viewDidAppear:animated];

 // 是否允许右滑返回
 [self.navigationController.interactivePopGestureRecognizer setEnabled:_isShowBackButton];
}

UIScrollView 页面中失效

当使用 UIScrollView 、UITableView 、UICollectionView 等滑动视图的左右滑动时,滑动手势就会和右滑返回的手势冲突,右滑返回就会失效,解决办法只要加入下面这句代码即可。

// 解决右滑返回失效的问题
[scrollView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];

UIWebView 页面中失效

UIWebView 页面比较特殊,不仅右滑返回会失效,自定义的手势也会全部失效,因为 UIWebView 中已经内部集成了点击、滑动等多个手势,上面的方法在 UIWebView 中并没有作用,解决办法是加入以下允许多个手势并发的代理方法。

// 允许多个手势并发
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
 return YES;
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • 揭开iOS逆向解密的神秘面纱

    揭开iOS逆向解密的神秘面纱

    这篇文章主要给大家介绍了关于iOS逆向解密的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-06-06
  • iOS安全防护系列之重签名防护与sysctl反调试详解

    iOS安全防护系列之重签名防护与sysctl反调试详解

    这篇文章主要给大家介绍了关于iOS安全防护系列之重签名防护与sysctl反调试的相关资料,文中通过示例代码以及图文介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • IOS开发之路--C语言数组和字符串

    IOS开发之路--C语言数组和字符串

    数组在C语言中有着特殊的地位,它有很多特性,例如它的存储是连续的,数组的名称就是数组的地址等。而在C语言中是没有String类型的,那么如果要表示一个字符串,就必须使用字符串数组
    2014-08-08
  • iOS App开发中的UIStackView堆叠视图使用教程

    iOS App开发中的UIStackView堆叠视图使用教程

    UIStackView是iOS9以来新增加的组件,使我们能够对UIView子类对象进行灵活排版,这里我们就来看一下iOS App开发中的UIStackView堆叠视图使用教程
    2016-07-07
  • iOS开发实现计算器功能

    iOS开发实现计算器功能

    这篇文章主要为大家详细介绍了iOS开发实现计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-10-10
  • 详解iOS中集成ijkplayer视频直播框架

    详解iOS中集成ijkplayer视频直播框架

    ijkplayer 是一款做视频直播的框架, 基于ffmpeg, 支持Android和iOS,本文将详细的讲一下在iOS中如何集成ijkplayer, 即便以前从没有接触过,按着下面做也可以集成成功!下面跟着小编一起来看下吧
    2016-12-12
  • iOS开发TableView网络请求及展示预加载实现示例

    iOS开发TableView网络请求及展示预加载实现示例

    这篇文章主要为大家介绍了iOS开发TableView网络请求及展示预加载实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Swift 访问权限的资料整理

    Swift 访问权限的资料整理

    这篇文章主要介绍了Swift 访问权限的资料整理的相关资料,希望通过本文大家能掌握这部分内容,需要的朋友可以参考下
    2017-09-09
  • ios开发navigationController pushViewController 方式多次跳转返回到最上层返回到指定的某一层的实现方法

    ios开发navigationController pushViewController 方式多次跳转返回到最上层返回到

    这篇文章主要介绍了ios开发navigationController pushViewController 方式多次跳转返回到最上层返回到指定的某一层的实现方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • iOS实现计算器小功能

    iOS实现计算器小功能

    这篇文章主要介绍了iOS实现计算器小功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论