问题描述
有人可以解释一下何时使用以及它们之间的区别吗?.
解决方法
在简单的单词中,当在 Textfield 中输入任何文本并且您希望在 textDidChange
上输入文本以检查验证或任何内容时,会发生 TextField
...
func textDidChange(_ textField: UITextField) {
guard let email = emailTextField.text,!email.isEmpty,email.isValidEmail() else {
//Write your code here...
return }
guard let password = passwordTextField.text,!password.isEmpty else {
//Write your code here..
return }
//Write your success code.
}
并且 shouldChangeCharactersIn
在任何键入的键即将在 Textfield 中打印之前发生事件。这样您就可以更改该密钥并允许或限制该密钥。
例如:如果用户在密码文本字段中输入空格,您可以限制该键并且空格永远不会打印在文本字段中。
在下面的代码中,我限制了我的文本字段中的空格(“”)键。
func textField(_ textField: UITextField,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool {
if range.location == 0 && string == " " {
return false
}
return true
}