手动为UITextField设置“text”不会调用.EditingChanged

时间:2016-03-04 09:07:47

标签: ios uitextfield

我已经将具有目标

的UITextField子类化
self.addTarget(self, action: "onChange:", forControlEvents: .EditingChanged)

当用户在文本字段中输入时,这可以正常工作。虽然我需要在手动更新textfield的“text”属性时调用相同的方法“onChange:”。

let tf = CustomTextField()
tf.text = "Trigger !!!"

我怎么能这样做?

1 个答案:

答案 0 :(得分:7)

这是故意的,如果您需要在事件处理程序中以编程方式更改文本,则可以防止无限回声。

使用sendActionsForControlEvents(_:)手动通知事件处理程序。

tf.text = "Trigger !!!"
tf.sendActionsForControlEvents(.EditingChanged)