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