Объединение UILongPressGestureRecognizer с UIPanGestureRecognizer

Я хотел бы объединить UILongPressGestureRecognizer с UIPanGestureRecognizer.

UIPanGestureRecognizer должен начинаться с длинного нажатия. Есть ли простой способ сделать это? или мне действительно нужно написать свой собственный распознаватель жестов?

Я не похож на главный экран. Вы нажимаете на значок, и через некоторое время значки начинают колебаться. После этого, не отпуская палец от экрана, я могу начать перетаскивать значок под своим пальцем.

19
задан János 1 May 2015 в 13:26
поделиться

2 ответа

Я нашел решение: Этот метод UIGestureRecognizerDelegate делает именно то, что я искал:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
16
ответ дан 30 November 2019 в 02:10
поделиться

на самом деле вам не нужно комбинировать распознаватели жестов - вы можете сделать это исключительно с помощью UILongPressGestureRecognizer... Вы входите в StateBegan после того, как ваши прикосновения остались в пределах "allowableMovement" для "minimumPressDuration". Вы остаетесь в своем непрерывном longPressGesture до тех пор, пока не поднимаете ни один из пальцев, поэтому вы можете начать двигать пальцами и отслеживать движение через StateChanged.

Жесты длительного нажатия непрерывны.Жест начинается (UIGestureRecognizerStateBegan), когда количество допустимых пальцев (numberOfTouchesRequired) было нажато в течение указанного периода (minimumPressDuration) и касания не выходят за пределы допустимого диапазона движения (allowableMovement). Распознаватель жестов переходит в состояние Change всякий раз, когда перемещается палец, и завершается (UIGestureRecognizerStateEnded), когда любой из пальцев поднимается.

21
ответ дан 30 November 2019 в 02:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: