Пользовательская кнопка очистки UITextField не работает на iPhone X iOS 13 - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть настраиваемая кнопка очистки в пользовательском 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 = ""
    }
}
...