Есть ли какой-нибудь способ определить скорость сенсорного движения

StackOverflow https://stackoverflow.com/questions/2088667

  •  21-09-2019
  •  | 
  •  

Вопрос

Я создаю приложение для рисования и хочу увеличить размер кисти в зависимости от скорости штрихов.

Как бы я этого добился?

Это было полезно?

Решение

ДА.Смотрите методы на UIView названный touches*, в частности:

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

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

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

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

Другие советы

Что ж, UITouch ( пользовательский интерфейс ) имеет свойства для определения местоположения и метки времени;используя эти свойства, вы можете рассчитать "скорость" касания между двумя событиями касания.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top