TextField和TextView的限制输入长度

TextField的限制代理方法##

只需要在这个代理方法里面code这样的代码就可以了 16 是长度可以自己设置

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSInteger existedLength = textField.text.length;
    NSInteger selectedLength = range.length;
    NSInteger replaceLength = string.length;
    NSInteger pointLength = existedLength - selectedLength + replaceLength;
    //超过16位 就不能在输入了
    if (pointLength > 16) {
        return NO;
    }else{
        return YES;
    }
   
}

TextView的限制代理方法##

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString*)text
{
    //这个判断相当于是textfield中的点击return的代理方法
    if ([text isEqualToString:@"
"]) {
        [textView resignFirstResponder];
        return NO;
    }
    
    //在输入过程中 判断加上输入的字符  是否超过限定字数
    NSString *str = [NSString stringWithFormat:@"%@%@", textView.text, text];
    if (str.length > 500)
    {
        textView.text = [textView.text substringToIndex:500];
        return NO;
    }
    return YES;
}
原文地址:https://www.cnblogs.com/zhangsheng-iOS/p/5798410.html