Scrollerview滑到最左侧时侧拉返回

今天优化项目的时候发现一个需要优化的地方,就是一个scrollerview,上面有很多页面,滑动到最左侧时没有侧拉返回的功能,只有点击左上角返回按钮才能返回,这是因为scrollerview吸收了系统的侧拉手势,使手势不能传递下去,这个问题一直都存在但我一直也没太在意,到了今天才决定优化一下.
首先我在viewDidLoad中加入这句话.

[self.scrollView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];

加上这句话后是可以在scrollerview上面侧拉返回了,但是不管当前页面是不是最左边都可以侧拉返回,我需要的是在最左侧的时候才可以侧拉返回,不是最左侧时就正常滑动.然后我看了看简书的个人界面发现它是对scrollview的scrollView.contentOffset.x进行监听,当scrollView.contentOffset.x小于某个值的时候直接pop,这个跟我想要也不太一样.默默抽上一根烟后,我突然想到了.代码如下:

/** 滑动结束后调用 */
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
        if (scrollView.contentOffset.x <= 0) {
//滑动结束后如果scrollview是滑动了最左侧的话那么就让它可以侧拉返回
 self.navigationController.interactivePopGestureRecognizer.enabled = YES;
        }else
        {
//否则就不能侧拉返回
       self.navigationController.interactivePopGestureRecognizer.enabled = NO;
        }
    }
}

好了,思路就是这样,如果有什么不对的地方希望大家能帮忙指出,谢谢大家

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,558评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,257评论 4 61
  • 过年期间,笔者实在无聊,而且年后要找关于数据方面的实习,就用了大概3天空闲时间二刷了leetcode的string...
    handSomeJoe阅读 1,091评论 0 1
  • 刚做大时代不久,今天这位会员就有咨询过我,我也耐心的讲解了,到最后快达成交易的时候她选择了回避我,发信息不回,打电...
    b071d399b644阅读 249评论 0 2
  • SDWebImage的常用方法 下载图片并显示同时做内存缓存和磁盘缓存图片加载结束之后, 在本地磁盘缓存会对图片名...
    面糊阅读 1,223评论 0 50