4 cocoa-touch objective-c uitextfield
如何限制UITextField中的字符数?
即如果我将其限制为10个字符,则用户将无法输入超过10个.此外,我想阻止他输入一些特殊字符,如+,=等.
我该怎么做?
jj0*_*j0b 10
这是一个限制UITextField大小的代码示例:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if ([[textField text] length] + [string length] - range.length > MAX_LENGTH) {
return NO;
} else {
return YES;
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使视图控制器符合UITextFieldDelegate protocol并实现textField:shouldChangeCharactersInRange:replacementString:- 只要用户在文本字段中键入新字符或删除现有字符,就会调用此方法.
然后,您可以检查用户刚输入的字符的有效性,返回NO任何无效字符(如问题中的+,=).
这篇博文中有一个例子.