NumberPad限制数字输入

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。

+0

Cheers Costique。我会在稍后检查。 – user244295 2010-07-20 12:32:11

你可以使用

[aTextfield.text intValue] < 32 

在文本字段的文本比较32 ;-)

+0

谢谢桑德罗。这实际上是否会限制用户键入超过32的任何值? – user244295 2010-07-20 12:18:25

+0

没有,这只是比较TextField中的值。但是,当他试图结束编辑时,你可以显示一条消息... ;-) – 2010-07-20 12:46:26