一个界面有 scrollerView 向左滑动不能 pop 的解决方法.

今天有个小故事

  • 今天看到一篇博客,也想到之前写的东西,与其有相近之处也是没有注意和在当时去解决的东西,就是一个scrollerview,上面有很多页面,滑动到最左侧时没有侧拉返回的功能,只有点击左上角返回按钮才能返回,这是因为scrollerview吸收了系统的侧拉手势,使手势不能传递下去,这个问题以前我也没有在意,在看到一篇博客的时候,才想到来优化这个问题.
    首先在viewDidLoad中加入这句话.
[self.scrollView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];

故事还没有结束

  • 加上这句话后是可以在scrollerview上面侧拉返回了,但是不管当前页面是不是最左边都可以侧拉返回,需求是在最左侧的时候才可以侧拉返回,不是最左侧时就正常滑动.在滑动结束的的时候再设置一下.
/** 滑动结束后调用 */
- (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,467评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,251评论 4 61
  • 最近我大侄儿放暑假了,由于他太调皮了,我嫂子扬言要把他送到补习班去,我知道是吓他的,然而他也没有被吓到,还是一样写...
    心理成长小窝阅读 742评论 4 14
  • 1985年成立,一家只要消费者,不要经销商代理商囤货商的公司。 环保,安全,优质。花本来要花的钱,实...
    A盈盈阅读 221评论 0 0
  • 亲子关系能像朋友一样,是我想要的。 晚餐时,关于丫子的教育方面的问题和某人“一言不和”,他有点气呼呼的出门...
    亲爱花花阅读 347评论 0 0