У меня есть настраиваемая кнопка очистки в пользовательском UITextField
, которая работает на симуляторе и большинстве устройств, которые у меня есть, кроме iPhone X Phone с iOS 13. Хотя она работает на симуляторе iPhone X 13.0.
На устройстве iPhone X оно не очищает поле, а только скрывает клавиатуру и запускает textFieldDidEndEditing
.Он не вызывает clearClicked.
Код, который я использую, взят из этого поста https://stackoverflow.com/a/53677427/12006517
Как решить эту проблему?
class CustomTextField: UITextField {
// ... other code
func initialize() {
let clearButton = UIButton(frame: CGRect(x: 0, y: 0, width: 16, height: 16))
clearButton.setImage(UIImage.clearButton, for: [])
self.rightView = clearButton
clearButton.addTarget(self, action: #selector(clearClicked), for: .touchUpInside)
self.clearButtonMode = .never
self.rightViewMode = .whileEditing
}
@objc func clearClicked(sender:UIButton) {
self.text = ""
}
}