限制两个特定文本字段中的字符数
Posted
技术标签:
【中文标题】限制两个特定文本字段中的字符数【英文标题】:Limit the number of characters in two specific textfields 【发布时间】:2021-05-18 16:37:11 【问题描述】:我正在尝试(总共有四个)。我能够成功地为一个文本字段做到这一点,但不能同时做到这两个。两者的最大字符数限制应为 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
【问题讨论】:
【参考方案1】:不要从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
【讨论】:
谢谢,但我不想限制其他 2 个文本字段中的字符。总共有四个,我试图将字符限制在其中的两个中。 @safetotry 刚刚在您发表评论时意识到这一点。已编辑。 啊,我明白了。感谢您的帮助!以上是关于限制两个特定文本字段中的字符数的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中创建 UITextFieldDelegate 以限制字符数
Objective-C如何限制文本字段在2次输入后只允许特定字符