Как определить количество касаний, которые прокручивают UITableView - PullRequest
0 голосов
/ 14 декабря 2011

Я пытаюсь определить количество касаний пальца в UITableView при вызове - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView и выполнить какое-либо задание соответственно.

Два подхода, которые я пробовал до сих пор:

  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);
    }
}

Хотя я могу получить количество касаний с этим подходом,но проблема в том, что она переопределяет фактическую прокрутку (нормальная прокрутка не происходит).

Пожалуйста, подскажите, где я не прав или что еще нужно сделать.Спасибо!

1 Ответ

1 голос
/ 14 декабря 2011

Метод - (NSUInteger) numberOfTouches UIGestureRecognizer может сказать вам, сколько касаний на нем.

...