Как я могу разрешить несколько жестов длинным нажатием одновременно на iPad? - PullRequest
0 голосов
/ 23 декабря 2011

В настоящее время у меня есть несколько слоев для перетаскивания, связанных с UILabels.У меня есть LongPressRecognizer, собирающий длинные нажатия на метки, и перемещающий слои с метками, которые перетаскиваются вокруг.

Я реализовал это, улавливая жесты в цели распознавателя, например:*

Однако я бы хотел, чтобы пользователь, при перетаскивании одной метки, мог дополнительно нажимать на другую метку, чтобы перетаскивать несколько меток одновременно.Поскольку в настоящее время распознаватель принимает 1 касание (numberOfTouchesRequired = 1), он, похоже, не может подобрать дополнительные события.Однако событие gestRecognizerStateChanged вызывается каждый раз, когда на iPad происходит другое сенсорное событие.Однако numberOfTouches на распознавателе по-прежнему показывает одно касание.

Является ли предоставление каждой метке собственного LongPressRecognizer лучшим решением или есть что-то более элегантное, что я могу сделать с одним распознавателем?

1 Ответ

6 голосов
/ 23 декабря 2011

В вашем контроллере вида ...

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {        
    return YES;
}

И не забудьте

recognizer.delegate = self;

при создании каждого жеста ...

...