3

如何设置在 a 中创建的文本字段的最大字符串长度UIAlertView?我正在使用 Xcode 4.5 并在 10.8 (OS X) 上构建应用程序目前我UIAlertView在用户单击按钮时启动该应用程序。用户将扫描他们的 RFID 徽章,我希望将输入文本字段UIAlertView限制为 10(十)个字符,这样用户就不能伪造关联过程。

4

2 回答 2

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;
}
于 2012-11-23T14:48:14.087 回答
2

看起来上面的答案几乎是正确的。

键入单个字符时,range.length(对于此方法)似乎始终为零,而位置增加。

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

      NSLog(@"Range: %@", NSStringFromRange(range));
      return ( range.location < 10 );

 }

编辑:如果你做的不是单字符输入,例如粘贴一行等,长度可能会更长。

于 2012-12-08T23:16:13.430 回答