2016-05-16 2 views
0

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

Я подключил свой взгляд на кран жест распознаватель, и я пытаюсь использовать следующий обработчик в моем коде:

@IBAction func doubleTapView(gesture: UITapGestureRecognizer) { 
    gesture.numberOfTapsRequired = 2 

    if gesture.state == .Ended { 
     print("Works") 
    } 
} 

Это то, что происходит:

Первый кран будет напечатайте «Работы». С этого момента для печати «Работы» потребуется два раза: «Работы»

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

ответ

1

Перед вызовом функции @IBAction вам необходимо установить количество касаний.

Есть два способа здесь:

Либо в раскадровке

Set it here

Или создать IBOutlet и установить его в функции viewDidLoad().

@IBOutlet weak var tapGesture: UITapGestureRecognizer! 

override func viewDidLoad() { 
    super.viewDidLoad() 
    tapGesture.numberOfTapsRequired = 2 
} 
+0

Не могли бы вы объяснить, почему это так? – illuminatedtype

+0

Свойство «numberOfTapsRequired» признака распознавания жетона является частью его настройки, поэтому вы должны сделать это сначала, поэтому IBAction будет запущен после двойного нажатия (а не после одного нажатия - его значение по умолчанию) –

+1

что @LA сказал :) –

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