解决 UICollectionView 横向滑动时,系统侧滑返回功能失效的问题

当我们创建一个横向滑动的collectionView的时候,会发现系统的侧滑返回功能失效了。下面就来分析一下这个问题产生的原因以及解决方案
首先解释下失效的原因

由于UICollectionView继承自UIScrollView,UIScrollView内部有个panGestureRecognizer的手势属性,当我们滑动scrollView的时候,其实就是panGestureRecognizer在起作用,所以当我们的滑动手势在scrollView上时,就不会调用系统的侧滑返回手势

解决方案

要想解决侧滑返回失效的问题,我们只需要在合适的时候,将scrollView内部的panGestureRecognizer手势关闭即可

解决步骤

// 1.设置代理
self.panGestureRecognizer.delegate = self;

// 2.实现方案
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    
    // 开启侧滑返回功能
    
    // 是否为平移手势
    if ([gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]]) {
        // 获取平移方向
        CGPoint translation = [(UIPanGestureRecognizer *)gestureRecognizer translationInView:gestureRecognizer.view];
        // 向右滑动 && scrollView滑动到最左侧
        if (translation.x >= 0 && self.contentOffset.x <= 0) {
            return NO;
        }
        
    }
    
    return YES;
}


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,115评论 3 119
  • 今天是4.17好像是别人说的复活节。 不过对于我来说,今天是过半。我给人家说过:你迷茫是因为你没挣到钱。你的欲望得...
    付恩啊阅读 372评论 0 0
  • 在最新一期《放开我北鼻》中,黄景瑜在镜头面前没控制住情绪崩溃大哭,这次情绪失控的原因是,他收到了家人的信息,家人问...
    漠北荒河阅读 678评论 0 1
  • 今天是46年第一次这么放松开心,快乐嗨,平安夜吃了高山苹果,第一次从开始旋转到结束,没有晕!神奇!第一次吃蛋糕吃到...
    赵爱丽阅读 221评论 0 6
  • 你的眼神一瞥 我就全然明了 我赶紧转身离开 躲开我想要它发生的事情
    Krisssn阅读 250评论 0 0

友情链接更多精彩内容