ios – 如何限制UITextField中的字符

前端之家收集整理的这篇文章主要介绍了ios – 如何限制UITextField中的字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Set the maximum character length of a UITextField42个
我有一个UITextField具有以下限制 – 字符只能是数字,如下面的方法.我还想将最大字符数限制为3位数.如何修改我的方法来做到这一点?
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSCharacterSet *aCharacterSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
for (int i = 0; i < [string length]; i++) {
    unichar aCharacter = [string characterAtIndex:i];
    if ([aCharacterSet characterIsMember:aCharacter]) {
        return YES;
    }
}

NSUInteger newLength = self.textField.text.length + string.length - range.length;
return (newLength > 3) ? NO : YES;
}

解决方法

o限制代码下方的文本字段使用.
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
     NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];    
        return !([newString length] > 3);

}

猜你在找的iOS相关文章