У меня есть UITextField с включенной кнопкой очистки. У меня также есть некоторый код, который отклоняет клавиатуру, когда пользователь вводит в другое место на экране:Перехват указателя жестящего знака с помощью кнопки «Очистить»
let tap: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(dismissKeyboard))
tap.cancelsTouchesInView = false
view.addGestureRecognizer(tap)
func dismissKeyboard() {
view.endEditing(true)
}
Проблема заключается в том, что этот коде мешает кнопки ясных, поэтому текстовое поле никогда не очищаются. Как я могу предотвратить распознавание указателя жесткости при нажатии кнопки очистки кнопки?
Я бы подумал, что жесты будут следовать * до * зрения иерархии, но может и нет. Вы * можете * определить, был ли нажат слой кнопки (возможно, даже представление, но это может быть проблемой здесь. Как только вы знаете, что было использовано, вы можете правильно управлять потоком процесса. – dfd
Хорошо, если пользователь называет это, что должно произойти? Если кнопка имеет приоритет или жест или оба? Если кто-то не стреляет, вызовите IBAction вручную и отправьте кнопку в качестве отправителя. – GregP
. Кнопка должна иметь приоритет. И у меня также есть еще один обычный UIButton на экране, который должен быть приоритетным, но он всегда распознаватель жестов. – user2397282