0

UITableView- (void)scrollViewDidEndDragging:(UIScrollView *)scrollViewが呼び出されたときに指で触れた回数を特定し、それに応じていくつかのタスクを実行しようとしています。

これまでに試した2つのアプローチは次のとおりです。

  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

メソッド -(NSUInteger)numberOfTouches の UIGestureRecognizer は、何回タッチされたかを知ることができます。

于 2011-12-14T07:15:28.600 に答える