Текстовое поле, удаляющее вновь добавленные символы - PullRequest
0 голосов
/ 19 марта 2019

У меня есть label, который получает информацию от предыдущего view controller следующим образом

  @IBOutlet weak var textField: UITextField!
   var label = String()

  func textFieldDidBeginEditing(_ textField: UITextField) {
        self.textField.text = String(self.label.dropLast())
    }

Вот сценарий:

textField on loading: Apple (edit Icon)
textField on editing first time: Apples are healthy
textField on tapping again: Apple 

Все нормально, когда я начинаю редактировать textField, но как только я нажал снаружи или перешел в другое поле и вернулся к textField, все редактирование исчезло. Как предотвратить это?

1 Ответ

2 голосов
/ 19 марта 2019

Я думаю, это потому, что textFieldDidBeginEditing вызывается при каждом нажатии на текстовое поле, поэтому текст сбрасывается на текст вашей метки.

Если это одноразовое назначение, вам следует учитыватьделает это в viewDidLoad.Это также позволит вам сохранить исходное значение метки, если вы не хотите, чтобы оно менялось.

Вы также можете назначить текст свойству метки в textFieldDidEndEditing.

...