Да. См. Методы на UIView
с именем touches*
, а именно:
- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event
Он вызывается при обнаружении движения («слайд»?) И не страдает от «одурачивания» несколькими быстрыми касаниями. Вы можете получить координату текущей позиции пальца на виде и времени, когда произошло событие:
UITouch *touch = [touches anyObject];
CGPoint inFrameCoordinate = [touch locationInView:self];
NSTimeInterval timestamp = [touch timestamp]
Получите расстояние и время между двумя координатами для расчета скорости.