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

前端之家收集整理的这篇文章主要介绍了ios – UITableView滑动手势与UITableViewCell滑动冲突前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
以下是我编写的用于在UITableView上放置2个手指滑动的代码
  1. UISwipeGestureRecognizer *leftSwipe = [UISwipeGestureRecognizer new];
  2. [leftSwipe addTarget:self action:@selector(nextDay)];
  3. leftSwipe.numberOfTouchesrequired = 2;
  4. leftSwipe.direction = UISwipeGestureRecognizerDirectionLeft;
  5. leftSwipe.delegate = self;
  6. [leftSwipe setCancelsTouchesInView:YES];
  7. [tableViewTasks addGestureRecognizer:leftSwipe];
  8.  
  9. UISwipeGestureRecognizer *rightSwipe = [UISwipeGestureRecognizer new];
  10. [rightSwipe addTarget:self action:@selector(prevIoUsDay)];
  11. rightSwipe.numberOfTouchesrequired = 2;
  12. rightSwipe.direction = UISwipeGestureRecognizerDirectionRight;
  13. rightSwipe.delegate = self;
  14. [rightSwipe setCancelsTouchesInView:YES];
  15. [tableViewTasks addGestureRecognizer:rightSwipe];

我正在使用SWTableViewCell左右(单击)gestureRecognisers.
当使用2个手指向左/向右滑动UITableView时,SWTableViewCell左右手势也会在此之后被触发.
如何制止冲突?

解决方法

  1. - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{
  2. if (SWTableViewCellTouch) {
  3. SWTableViewCellTouch = NO
  4. return NO;
  5. }
  6.  
  7. return YES;
  8. }

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

猜你在找的iOS相关文章