Затем я бы добавил следующий метод Delegate:

м классе у меня есть 11 UITapGestureRecognizer в массиве textViewRecognizer, прикрепленном к 11 из 100 UITextFields в массиве boxArray. При нажатии на текстовое поле, содержащее UIGestureRecognizer, он запускает tappedTextView, где я пытаюсь получить индекс первого респондента.

Однако из-за некоторого странного порядка в том, как все выполняется, функция действия дает мне только первого респондента предыдущего первого респондента на тот, который только что был прослушан.

Кроме того, я должен дважды нажать, чтобы даже выделить текстовое поле, которое я собирался! Мне нужно использовать функцию нажатия, а не текстовые делегаты, так что это была настоящая головная боль.

У меня есть...

    @objc func tappedTextField(_ sender: UITapGestureRecognizer) {
    for i in 0...99 {
        if (boxArray[i]?.isFirstResponder)! {
            if let index = boxArray.index(of: boxArray[i]) {
            print(index)
            break
            }
        }
    }
}

по моему мнению, у меня есть

for i in 0...10 {
        textFieldTapRecognizer[i].addTarget(self, action: #selector(self.tappedTextField(_:)))
}

В моем классе

Я хочу установить 11 из 100 textFields, чтобы иметь этот распознаватель касаний в зависимости от некоторых условий (я просто собираюсь использовать обычный цикл for здесь)

for i in 0...10 {
         boxArray[i]?.addGestureRecognizer(textFieldTapRecognizer[i])
}

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

Есть ли способ обойти двойное касание, чтобы выбрать текстовое поле с UITapGesture?

Любая помощь очень ценится.

Отредактировано: правильно названные функции

Ответы на вопрос(0)

Ваш ответ на вопрос