ios – 如何将uitextfield字符范围限制为10位数

前端之家收集整理的这篇文章主要介绍了ios – 如何将uitextfield字符范围限制为10位数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我只是想知道如何限制uitextfield范围,即我有一个文本框,我输入值10位数.如果我尝试输入超过10位数,我的文本字段不应该接受这些值.为了非常简单,我想在文本字段中只输入10位数字.

我计算出这段代码,但它对我不起作用:

- (BOOL)textField:(UITextField *) textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

NSUInteger oldLength = [textField.text length];
NSUInteger replacementLength = [string length];
NSUInteger rangeLength = range.length;

NSUInteger newLength = oldLength - rangeLength + replacementLength;

BOOL returnKey = [string rangeOfString: @"\n"].location != NSNotFound;

return newLength <= MAXLENGTH || returnKey;
  }

解决方法

要限制文本输入的长度,请实现UITextFieldDelegate的此方法,并在更改后检查文本的长度:
- (BOOL)            textField:(UITextField *)textField
shouldChangeCharactersInRange:(NSRange)range
            replacementString:(NSString *)string {
    NSString *resultText = [textField.text stringByReplacingCharactersInRange:range
                                                                   withString:string];
    return resultText.length <= 10;
}

猜你在找的iOS相关文章