检查Swift中的textField信息

时间:2017-06-26 21:49:04

标签: swift xcode

我在文本字段旁边有一个UIImage。如果文本字段通过格式测试,我希望图像更改(检查)。因此,如果输入了六个字符,图像将会改变。我尝试使用textFieldDidChange,但我认为只有在第一次更改字段时才会调用此函数。是否有一个我可以使用的函数,每次输入一个字符时都会被调用?有没有更好的方法呢?

2 个答案:

答案 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>
}