Textfield删除新添加的字符

问题描述 投票:-2回答:1

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

ios swift uitextfield uitextfielddelegate
1个回答
2
投票

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

如果它是一次性的任务,你应该考虑在viewDidLoad中进行。如果您不想更改标签值,也可以保留初始标签值。

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

© www.soinside.com 2019 - 2024. All rights reserved.