我正在尝试确定- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView
调用 UITableView 时手指触摸的次数并相应地执行某些任务。
到目前为止,我尝试过的两种方法是:
- 子类化 UITableView 以覆盖
touchesBegan:withEvent:
- 这种方法的问题是,只有在屏幕上有“一些”点击时才会触发此方法,而不是当用户只是快速滚动而不用手指休息时触发。 - 用于
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);
}
}
虽然我能够使用这种方法获得触摸次数,但问题是它覆盖了实际滚动(没有发生正常滚动)。
请提出我错在哪里或应该做什么。谢谢!