以下是我编写的用于在 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/