2010-07-20 229 views
1

我有一些簡單的UITextFields可以調出數字鍵盤。NumberPad限制數字輸入

我想限制用戶對輸入的控制。

例如,一個特定的文本框不應該被允許超過32

我與< 32使用哪些參數,使該什麼價值?

感謝

回答

2

我會實現這個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

1

你可以使用

[aTextfield.text intValue] < 32 

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

+0

謝謝桑德羅。這實際上是否會限制用戶鍵入超過32的任何值? – user244295 2010-07-20 12:18:25

+0

沒有,這只是比較TextField中的值。但是,當他試圖結束編輯時,你可以顯示一條消息... ;-) – 2010-07-20 12:46:26