微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

UITextFieldDelegate 的委托 textFieldDidChange 和 shouldChangeCharactersIn 方法的主要区别是什么?

如何解决UITextFieldDelegate 的委托 textFieldDidChange 和 shouldChangeCharactersIn 方法的主要区别是什么?

有人可以解释一下何时使用以及它们之间的区别吗?.

解决方法

在简单的单词中,当在 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
       }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。