如何解决限制两个特定文本字段中的字符数
我正在尝试限制两个特定文本字段中的字符数(总共有四个)。我能够为一个文本字段成功执行此操作,但不能同时为两个文本字段执行此操作。两者的最大字符限制应为 36。谁能帮我这个?以下是我到目前为止所拥有的。注意:我是一个新手程序员,所以如果这个问题有一个明显的答案,请原谅我。谢谢。
func textField(_ textField: UITextField,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool {
let maxLength = 36
let currentString: NSString = (fullNameTextField.text ?? "") as NSString
let currentString2: NSString = (occupationTextField.text ?? "") as NSString
let newString: NSString =
currentString.replacingCharacters(in: range,with: string) as NSString
return newString.length <= maxLength
}
解决方法
不要从 fullNameTextField
和 occupationTextField
获取文本,而是使用 textField
参数。
但如果您只想限制 fullNameTextField
和 occupationTextField
中的字符数,请添加 if
语句。
func textField(_ textField: UITextField,shouldChangeCharactersIn range: NSRange,replacementString string: String) -> Bool {
/// check the textField
if textField == fullNameTextField || textField == occupationTextField {
let maxLength = 36
let currentString: NSString = (textField.text ?? "") as NSString
let newString: NSString = currentString.replacingCharacters(in: range,with: string) as NSString
return newString.length <= maxLength
}
/// don't limit characters if textField is NOT `fullNameTextField` or `occupationTextField`
return true
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。