我有一个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
中的label属性。