我在文本字段旁边有一个UIImage。如果文本字段通过格式测试,我希望图像更改(检查)。因此,如果输入了六个字符,图像将会改变。我尝试使用textFieldDidChange,但我认为只有在第一次更改字段时才会调用此函数。是否有一个我可以使用的函数,每次输入一个字符时都会被调用?有没有更好的方法呢?
答案 0 :(得分:1)
对编辑已更改的事件使用操作。这可以通过IBAction或手动添加目标来实现。
<强> IBAction为强>
在视图控制器中添加此方法,并将插座连接到xib或storyboard中的editingChanged事件:
@IBAction func textFieldChanged(_ sender: UITextField) {
// Your code here
}
添加目标
override func viewDidLoad() {
super.viewDidLoad()
yourTextField.addTarget(self, action: #selector(textFieldChanged(_:)), for: .editingChanged)
}
func textFieldChanged(_ sender: UITextField) {
// Your code here
}
答案 1 :(得分:0)
根据Apple's documentation。在讨论部分下,它说,
只要用户操作导致其文本发生更改,文本字段就会调用此方法。使用此方法验证用户键入的文本。
“此方法”是指textField(_:shouldChangeCharactersIn:replacementString:)
这是完整的方法:
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
<code>
}