ios - UITableView 滑动手势与 UITableViewCell 滑动冲突

标签 ios objective-c uitableview uiswipegesturerecognizer swtableviewcell

以下是我编写的用于在 UITableView 上滑动 2 根手指的代码:

UISwipeGestureRecognizer *leftSwipe = [UISwipeGestureRecognizer new];
[leftSwipe addTarget:self action:@selector(nextDay)];
leftSwipe.numberOfTouchesRequired = 2;
leftSwipe.direction = UISwipeGestureRecognizerDirectionLeft;
leftSwipe.delegate = self;
[leftSwipe setCancelsTouchesInView:YES];
[tableViewTasks addGestureRecognizer:leftSwipe];

UISwipeGestureRecognizer *rightSwipe = [UISwipeGestureRecognizer new];
[rightSwipe addTarget:self action:@selector(previousDay)];
rightSwipe.numberOfTouchesRequired = 2;
rightSwipe.direction = UISwipeGestureRecognizerDirectionRight;
rightSwipe.delegate = self;
[rightSwipe setCancelsTouchesInView:YES];
[tableViewTasks addGestureRecognizer:rightSwipe];  

我正在使用 SWTableViewCell它具有左右(单击)gestureRecognisers。
当使用 2 个手指向左/向右滑动 UITableView 时,SWTableViewCell 左右手势也会随之触发。
如何停止冲突?

最佳答案

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
    if (SWTableViewCellTouch) {
        SWTableViewCellTouch = NO
        return NO;
    }

    return YES;
}

当您触摸 SWTableViewCell 时,将 BOOL SWTableViewCellTouch 设置为 YES。

关于ios - UITableView 滑动手势与 UITableViewCell 滑动冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43869683/

相关文章:

ios - 如何取消突出显示表格 View 单元格?

iphone - UITableView 披露指标发疯

iphone - 如何控制 UISlider Value Changed-events 频率?

ios - 'userNotificationCenter :didReceiveNotificationResponse 实现中的参数类型冲突

ios - AFNetworking 检查可用网络

iphone - 从网络获取图像到 UIImageView 不起作用

iOS Objective-Zip 损坏问题

ios - 如何在自定义 Metal Core Image Kernel 中正确处理 HDR10?

ios - 使用 OpenCV 图像识别为 Objective-C 自定义视频摄像头应用程序添加亮度/ Gamma 控制

ios - UITableView 的高度未以编程方式更改