Есть ли способ каскадировать UIGestureRecognizers для обнаружения крана и затем перетаскивания.
Например, я хочу определить, когда пользователь меткает, а затем тянет его пальцем.
Это будет похоже на то, как drag работает на трекпадах.
Итак, я хочу обнаружить кран, а затем хочу, чтобы UIPanGestureRecognizer отправлял мне непрерывные обновления.
Я хочу использовать стандартные классы UIGesture, чтобы создать этот новый жест вместо того, чтобы создавать свои собственные, используя необработанные штрихи.
Возможно ли это?
Ответ 1
хотя я не нашел решение так, как я ожидал, я нашел лучшее решение.
Просто используя UILongPressGrstureRecognizer
, неудивительно, что он способен реализовать откат и перетаскивание.
Вы должны:
- установите для параметра numberOfTapsRequired значение 1 для обнаружения начального нажатия.
- установить минимальное значение Duration, меньшее, чтобы обнаружить перетаскивание быстрее, не ожидая
например:.
UILongPressGestureRecognizer *mouseDrag = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(handleDrag:)];
mouseDrag.numberOfTapsRequired=1;
mouseDrag.minimumPressDuration=0.05;
[clickLeft requireGestureRecognizerToFail:mouseDrag];
чтобы обработать перетаскивание, вы должны определить состояние, чтобы обрабатывать его соответственно как непрерывный жест.