2015-12-07 2 views
2

У меня возникли задержки с использованием UITapGestureRecognizer, я знаю, что это будет связано с: -Swift UITapGestureRecognizer Slow

singleTap.requireGestureRecognizerToFail(doubleTap) 

, но это необходимо из-за одного крана называют в то же время, как двойное нажатие. Есть ли другой путь вокруг этой проблемы?

let singleTap:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("singleTap:")) 
singleTap.numberOfTapsRequired = 1 
singleTap.requireGestureRecognizerToFail(doubleTap) 
view.addGestureRecognizer(singleTap) 

ответ

2

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

Не могли бы вы обойти это, потребовав, чтобы ваши одиночные краны потерпели неудачу, пока ваш двойной кран не узнает?

doubleTap.requireGestureRecognizerToFail(singleTap) 

Это должно означать, что двойное нажатие будет стрелять только если единственный кран не было обнаружено, по сути приоритизации одним нажатия

+0

Да его ужин раздражает, как я требую одного крана на прогулку к месту, и дважды нажмите, чтобы перейти к местоположению. я попытался удалить сбой, и это просто заставляет моего персонажа сбой. Добавление отказа в doubleTap не позволяет мне использовать doubleTap печально :( Я благодарю вас за помощь Лиам, спасибо! – Rachel

+0

Ах, да, извините, это имеет смысл! К сожалению, это дизайн системы распознавания жестов, так что нет многое, что можно сделать здесь, кроме использования жестов по-другому, чтобы достичь того, чего вы хотите? Может быть, поиграть с использованием разных типов жестов или, может быть, щелчком, чтобы бежать? Удачи! – liamnichols

+1

Кроме того, из документации яблок: «Если вы хотите, чтобы эти два действия были взаимоисключающими, ваш одноранговый распознаватель должен требовать, чтобы распознаватель двойного нажатия не удался. Однако ваши действия с одним нажатием немного отстают от входа пользователя, потому что распознаватель однократного нажатия задерживается до двойного нажатия распознаватель не работает ». (via, https://developer.apple.com/library/ios/documen ставляют/EventHandling/Концептуальное/EventHandlingiPhoneOS/GestureRecognizer_basics/GestureRecognizer_basics.html). Это объясняет ваш сценарий и почему это происходит :) – liamnichols

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

  • Нет связанных вопросов^_^