如何设置UIAlertView
内创建的文本字段的最大字符串长度?我正在使用Xcode 4.5并在10.8(OS X)上构建应用程序目前我有UIAlertView
在用户单击按钮时启动。用户将扫描他们的RFID徽章,我希望UIAlertView
的输入文本域限制为10(十)个字符,这样用户就无法捏造关联过程。
答案 0 :(得分:3)
您可以在textField的委托方法中检查文本的长度:
textField:shouldChangeCharactersInRange:replacementString:
如果您不想改变,请返回NO。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (textField.text.length - range.length + string.length > 10) {
return NO;
}
return YES;
}
答案 1 :(得分:2)
看起来上面的答案几乎正确。
键入单个字符时,range.length(对于此方法)似乎始终为零,而位置递增。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSLog(@"Range: %@", NSStringFromRange(range));
return ( range.location < 10 );
}
编辑:如果你做的不是单字符输入,即粘贴一条线等,长度可能会更长。