2012-05-01 17 views
0

UITextFieldの範囲を制限する簡単な方法を理解して、入力した数字が14〜70になるようにしてください。テキストフィールドはそれ自体をクリアするでしょうか?UITextFieldを特定の文字範囲に制限する

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range  replacementString:(NSString *)string 
{ 
NSString *newString = [ageField.text stringByReplacingCharactersInRange:range  withString:string]; 
return !([newString length] > 2); 

残された唯一の事は、この動作を実装することです:私はすでにこのようなないより2文字以内であることを入力したテキストの長さが限られています。誰でも?

+0

は、正規表現を使用してください。 –

+4

もしあなたがコメントをdownvoteすることができたら、私は間違いなくそれをやるでしょう。 –

答えて

1

UPDATE:代わりに試して返すの

NSInteger v = [newString integerValue]; 
if (v < 14 || v > 72) { 
// Do whatever you do when the string value is invalid 
// BUT ALSO ADD: 
textView.text = @""; 
} 

if (newString.length != 2) { 
    // do what you want! 
return; 
} else { 
// PUT YOUR CODE HERE 
} 
+0

今は問題ありませんが、値10を入力すると最初の数字が削除され、テキストフィールドに「0」が残って0を入力できるようになります。( –

+0

try ....... ...... – MCKapur

+0

主な問題は 'return!([newString length]> 2);というコードにあることが判明しました.2桁以上の数値は制限しますが、1桁の数値を入力できます。 –

関連する問題