NumberPad限制数字输入
问题描述:
我有一些简单的UITextFields可以调出数字键盘。NumberPad限制数字输入
我想限制用户对输入的控制。
例如,一个特定的文本框不应该被允许超过32
我与< 32使用哪些参数,使该什么价值?
感谢
答
我会实现这个UITextFieldDelegate方法:
- (BOOL) textField: (UITextField *) textField shouldChangeCharactersInRange: (NSRange) range replacementString: (NSString *) string
{
NSString *result = [textField.text stringByReplacingCharactersInRange: range withString: string];
if ([result intValue] < 0 || [result intValue] > 32)
return NO;
return YES;
}
为了一致性,您可能还想实现-textFieldShouldEndEditing:返回当值无效时为false。
答
你可以使用
[aTextfield.text intValue] < 32
在文本字段的文本比较32 ;-)
+0
谢谢桑德罗。这实际上是否会限制用户键入超过32的任何值? – user244295 2010-07-20 12:18:25
+0
没有,这只是比较TextField中的值。但是,当他试图结束编辑时,你可以显示一条消息... ;-) – 2010-07-20 12:46:26
Cheers Costique。我会在稍后检查。 – user244295 2010-07-20 12:32:11