0

我正在尝试确定- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView调用 UITableView 时手指触摸的次数并相应地执行某些任务。

到目前为止,我尝试过的两种方法是:

  1. 子类化 UITableView 以覆盖touchesBegan:withEvent:- 这种方法的问题是,只有在屏幕上有“一些”点击时才会触发此方法,而不是当用户只是快速滚动而不用手指休息时触发。
  2. 用于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);
    }
}

虽然我能够使用这种方法获得触摸次数,但问题是它覆盖了实际滚动(没有发生正常滚动)。

请提出我错在哪里或应该做什么。谢谢!

4

1 回答 1

1

UIGestureRecognizer 的方法 -(NSUInteger)numberOfTouches 可以告诉你有多少次触摸它。

于 2011-12-14T07:15:28.600 回答