Замените пустое поле UIText на значение - PullRequest
0 голосов
/ 30 апреля 2020

Я строю текстовое поле только для di git.

Мне бы хотелось, чтобы, когда текст в текстовом поле был "", заменили его на "0".

Мне удалось получить только текущий текст только для чтения.

Заранее спасибо

Ответы [ 3 ]

1 голос
/ 30 апреля 2020

Добавьте метод делегата editingChanged к textField следующим образом:

В методе viewDidLoad() добавьте следующий код:

textField.addTarget(self, action: #selector(textFieldChanged(_:)), for: .editingChanged);

А затем внедрите метод как следующим образом:

@objc func textFieldChanged(_ textField: UITextField) {
    if let text = textField.text, text.isEmpty {
        textField.text = "0"
    }
}

Вышеуказанный метод будет вызываться каждый раз, когда изменяется содержимое textField.

Вы также можете установить начальный текст textField в "0". Просто используйте textField.text = "0" в методе viewDidLoad().

1 голос
/ 30 апреля 2020

Если вы хотите, чтобы текстовое поле обновлялось после завершения редактирования, вы можете настроить действие следующим образом:

Editing Did End

, а затем

    @IBAction func editingDidEnd(_ txtTest: UITextField) {
    if txtTest.text == ""
    {
        txtTest.text = "0"
    }
0 голосов
/ 30 апреля 2020
textField.addTarget(self, action: #selector(handleTextField(_:)), for: .editingChanged)

@objc private func handleTextField(_ textField: UITextField) {
    if textField.text == "" {
        textFiled.text = "0"
    }
}
...