Я использую импортированный объект кнопки, Floaty (https://github.com/kciter/Floaty), который является подклассом класса UIView. В одном из контроллеров представления, где я использую эту кнопку (которая включает в себя текстовое поле), кнопка не удастся выбрать при нажатии, если я включу следующую строку, чтобы закрыть клавиатуру при нажатии от ...
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard (_:)))
self.view.addGestureRecognizer(tapGesture)
Идея о том, как закрыть клавиатуру, возникла из этого SO-запроса: iOS - Отключить клавиатуру при касании за пределами UITextField
Я думал, что часть проблемы может заключаться в том, что кнопка Floaty должна находиться спереди, поэтому я добавил следующую строку кода, найденную из этого запроса SO: Потеря распознавания касания после добавления UIScrollView под UIButton
floaty.bringSubviewToFront(self.view)
Я добавил эту строку в конец моей функции ViewDidLoad () в представлении, где она используется.
(Важно отметить, что весь вышеупомянутый код находится в функции ViewDidLoad для моего контроллера представления)
Есть ли другой способ справиться с закрытием клавиатуры при нажатии на текстовое поле? Или есть что-то еще, что я должен сделать с объектом Floaty (UIView) для обработки событий касания / касания?