Текстовое поле содержит сборщик данных. И поскольку у сборщика нет кнопки Return
, я должен как-то закрыть inputView
. Я не хочу использовать inputAccessoryView
, так что я, хотя , если пользователь снова нажимает текстовое поле, должно убрать текстовое поле. Но я не знаю, как обнаружить событие касания. Я подклассифицировал UITextField
и перезаписал метод touchesBegan
, но он никогда не будет вызван даже dow, если я установил userInteractionEnabled
в false.Как я могу обнаружить, что активное текстовое поле снова тронуто?
Я попытался настроить распознаватель жесты касания, сначала он срабатывает, но второй раз нет.
class TextFieldCloseWhenTouched: UITextField {
override func didMoveToWindow() {
self.addGestureRecognizer(UITapGestureRecognizer(target: self, action: "tapped"))
}
func tapped() {
if self.isFirstResponder() {
self.resignFirstResponder()
} else {
self.becomeFirstResponder()
}
}
}
меня Tableview за клавиатурой так touchBegin не работает, но в в конце я использовал inputAccessoryView и положил на него кнопку возврата. Думаю, я буду доволен этим. –