2010-01-18 2 views

ответ

3

Да. Смотрите методы UIView имени touches*, а именно:

- (void)touchesMoved:(NSSet*)touches withEvent:(UIEvent*)event 

Она вызывается при обнаружении шаг («слайд»?), И не страдает от того «обмануть» несколькими быстрыми штрихами. Вы можете получить координаты текущего положения пальца в представлении и время события ocurred:

UITouch *touch = [touches anyObject]; 
CGPoint inFrameCoordinate = [touch locationInView:self]; 
NSTimeInterval timestamp = [touch timestamp] 

Получить расстояние и время между двумя координатами для расчета скорости.

0

Ну, UITouch имеет свойства для местоположения и метки времени; используя эти свойства, вы можете рассчитать «скорость» касания между двумя событиями касания.

Это будет работать только для отдельных целей, конечно, и вам, возможно, придется сгладить результаты. Кроме того, пользователь может «обмануть» вас, быстро постукивая двумя пальцами поочередно ;-)

Смежные вопросы