我想检测是否在代码中设置了UITextField的文本。例如我需要someTextField.text = "Some Text"
的回调。我不想为.editingChanged
注册通知,因为每次用户输入内容时也会调用此通知。在代码中设置值时,应该仅。
有办法做到这一点吗?任何指针将不胜感激!谢谢!
答案 0 :(得分:0)
您可以使用textfields .isEmpty方法检查
if someTextField.isEmpty {
//do something
}
答案 1 :(得分:0)
您可以通过子类化
覆盖UITextField
中的文本var
class ObservableTextField: UITextField {
var action : (()->Void)?
override var text: String?{
didSet{
action?()
}
}
}
使用强>
@IBOutlet weak var obsTextField: ObservableTextField!
override func viewDidLoad() {
super.viewDidLoad()
obsTextField.action = {
debugPrint("changed")
}
}