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