Я пытаюсь определить количество касаний пальца в UITableView при вызове - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView
и выполнить какое-либо задание соответственно.
Два подхода, которые я пробовал до сих пор:
- Подкласс 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);
}
}
Хотя я могу получить количество касаний с этим подходом,но проблема в том, что она переопределяет фактическую прокрутку (нормальная прокрутка не происходит).
Пожалуйста, подскажите, где я не прав или что еще нужно сделать.Спасибо!