如何确定滚动UITableView的触摸次数
我试图确定- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView
被称为&执行相应的任务时,在UITableView手指触摸的数量。
我迄今为止尝试的两种方法是:
- inheritanceUITableView覆盖
touchesBegan:withEvent:
– 这种方法的问题是,只有当屏幕上有一些“点击”,而不是当用户只是快速滚动而不用手指rest时,就会触发这个方法。 - 使用
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接触。