0

В моей viewDidLoad FUNC, я следовал шаги по выполнению UITapGestureRecognizer, но она не будет регистрировать «одним нажатием», только 2 или 3:UITapGestureRecognizer только Регистрация> 1 краны

let gestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapAction)) 
gestureRecognizer.numberOfTapsRequired = 3 
myView.addGestureRecognizer(gestureRecognizer) 

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

Любые идеи, почему я не могу заставить его зарегистрировать только один кран?

Спасибо!

+0

Есть ли у вас какие-либо другие 'UITapGestureRecognizer', прикрепленные к этой точке зрения или к любым родителям? Сколько кранов они настраивают? –

+0

@AlecGorge Нет, не знаю. Только один. Я установил его для 2 и 3 кранов, которые оба работают. Когда я устанавливаю его в = 1, он почему-то не регистрируется ... несмотря на то, что я применил его к ... – PlateReverb

+1

, если вы удалите всю строку, в которой вы установили 'numberOfTapsRequired', это работает? Я не могу себе представить, что это имеет значение, поскольку по умолчанию 1, но всякий раз, когда я ищу одно нажатие, я ничего не устанавливаю. Просто, чтобы это исключить –

ответ

0

Хорошо ... Итак, решение моей проблемы было простым. Мне просто нужно было добавить прозрачный вид на верхний слой области, в которой я пытался собирать данные «нажмите». Я читал, что для этого требуется «супервизор» для сбора данных координат из области с несколькими объектами кнопок, и я предположил, что это означает представление, в котором были все кнопки, но это было неверно. Надзор должен быть «перед» всеми объектами, из которых я хочу собирать данные координат, и теперь работает один кран!