参见英文答案 >
Set the maximum character length of a UITextField42个
我有一个UITextField具有以下限制 – 字符只能是数字,如下面的方法.我还想将最大字符数限制为3位数.如何修改我的方法来做到这一点?
我有一个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); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。