文本字段删除新添加的字符

Textfield deleting newly added characters

我有一个 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,所有编辑都消失了。如何防止这种情况发生?

我认为这是因为每次您点击 textField 时都会调用 textFieldDidBeginEditing,所以文本会重置为标签的文本。

如果是一次性作业,你应该考虑在viewDidLoad中完成。如果您不想更改初始标签值,这还允许您保留初始标签值。

您还可以将文本分配给 textFieldDidEndEditing 中的标签 属性。