Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 限制两个特定文本字段中的字符数_Ios_Swift_Uitextfield - Fatal编程技术网

Ios 限制两个特定文本字段中的字符数

Ios 限制两个特定文本字段中的字符数,ios,swift,uitextfield,Ios,Swift,Uitextfield,我试图限制两个特定文本字段中的字符数(总共有四个)。我能够成功地对一个文本字段执行此操作,但不能同时对两个文本字段执行此操作。两者的最大字符限制应为36。有人能帮我吗?以下是我到目前为止的情况。注意:我是一个新手程序员,所以如果这个问题有明显的答案,请原谅我。谢谢 func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -

我试图限制两个特定文本字段中的字符数(总共有四个)。我能够成功地对一个文本字段执行此操作,但不能同时对两个文本字段执行此操作。两者的最大字符限制应为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
}
func textField(textField:UITextField,shouldChangeCharacters范围:NSRange,replacementString:string)->Bool{
设maxLength=36
将currentString:NSString=(fullNameTextField.text???)设为NSString
让currentString2:NSString=(occupationTextField.text???)作为NSString
让新闻字符串:NSString=
currentString.replacingCharacters(在:范围内,带:字符串)作为NSString

return newString.length使用
textField
参数,而不是从
fullNameTextField
occulationtextfield
获取文本

但是,如果只想限制
全名文本字段
职业文本字段
中的字符数,请添加
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
}
func textField(textField:UITextField,shouldChangeCharacters范围:NSRange,replacementString:string)->Bool{
///检查文本字段
如果textField==全名textField | | textField==职业textField{
设maxLength=36
将currentString:NSString=(textField.text???)设为NSString
让newString:NSString=currentString.replacingCharacters(在:范围内,带:字符串)作为NSString

return newString.length谢谢,但我不想限制其他两个文本字段中的字符。总共有四个,我正试图将字符限制在其中的两个中。@Safetory在你发表评论时就意识到了这一点。已编辑。啊,我现在明白了。谢谢你的帮助!