我正在尝试在调用- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView
时确定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);
}
}
虽然我能够通过这种方法获得触摸次数,但问题是它覆盖了实际滚动(正常滚动没有发生)。
请说明我错在哪里或做了什么。 谢谢!
答案 0 :(得分:1)
UIGestureRecognizer的方法 - (NSUInteger)numberOfTouches可以告诉你它有多少触摸。