如何确定滚动UITableView的触摸次数

我试图确定- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView被称为&执行相应的任务时,在UITableView手指触摸的数量。

我迄今为止尝试的两种方法是:

  1. inheritanceUITableView覆盖touchesBegan:withEvent: – 这种方法的问题是,只有当屏幕上有一些“点击”,而不是当用户只是快速滚动而不用手指rest时,就会触发这个方法。
  2. 使用uipangesturerecognizer来检测触摸的次数。 – 我用以下方式使用它:

 UIPanGestureRecognizer *taps = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)]; taps.maximumNumberOfTouches=4; taps.minimumNumberOfTouches=1; [self.tableView addGestureRecognizer:taps]; 

接着

 -(void)handleTap:(UITapGestureRecognizer *)sender{ if (sender.state == UIGestureRecognizerStateBegan) { NSLog(@"BEGAN - %d",sender.numberOfTouches); } } 

虽然我可以通过这种方法获得触摸次数,但是问题在于它正在覆盖实际的滚动(正常滚动不会发生)。

请提出我错在哪里或者应该做些什么。 谢谢!

UIGestureRecognizer的方法 – (NSUInteger)numberOfTouches可以告诉你有多less接触。