0
我试图确定调用- (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);
}
}
虽然我能够得到这种方法触摸次数,但问题是它重写实际的滚动(正常滚动不会发生)。
请提出我错在哪里或者应该做些什么。 谢谢!
是的.. thx这样一个简单的解决方法..它的工作原理和我可以使用它...但通过这个我只能够数``scrollViewWillBeginDragging`触摸。它在`viewDidScroll`上重置为零。如果在手指抬起时可以专门计算触摸,这将是完美的! – BufferStack 2011-12-14 09:43:15