iOS 侧滑手势冲突(JXCategoryView 滚动手势与侧滑)

iOS 手势冲突(JXCategoryView 滚动手势与侧滑)

此处我使用的是 FDFullscreenPopGesture
解决后的效果图
在这里插入图片描述

JXCategoryListContainerViewDelegate 提供了一个可选的协议方法:

/**
 返回自定义UIScrollView或UICollectionView的Class
 某些特殊情况需要自己处理UIScrollView内部逻辑。比如项目用了FDFullscreenPopGesture,需要处理手势相关代理。

 @param listContainerView JXCategoryListContainerView
 @return 自定义UIScrollView实例
 */
- (Class)scrollViewClassInlistContainerView:(JXCategoryListContainerView *)listContainerView;

看到这个我就知道怎么弄了,咱们可以自定义一个自定义 UICollectionView 在里面实现手势的控制,让它兼容多种手势共存

1、新建 HJCollectionView 继承自 UICollectionView, 添加UIGestureRecognizerDelegate 代理

HJCollectionView.h

@interface HJCollectionView : UICollectionView<UIGestureRecognizerDelegate>

@end

2 .HJCollectionView.m

#import "HJCollectionView.h"

@implementation HJCollectionView

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
    if (self.contentOffset.x <= 0) {
        return YES;
    }
    return NO;
}

@end

3. 在使用 JXCategoryView 的控制器中实现 JXCategoryListContainerViewDelegate


- (Class)scrollViewClassInlistContainerView:(JXCategoryListContainerView *)listContainerView {
    return [HJCollectionView class];
}

借鉴自:iOS 手势冲突(JXCategoryView 滚动手势与侧滑、UITableView 又划删除)

猜你喜欢

转载自blog.csdn.net/u014651417/article/details/122543461