2011-12-08 13 views
0

2つのUITextfieldがあります。2つの異なるUITextfieldの最小長と最大長の設定

  • 最初のUITextField - 最小値= 1と最大値=固定されていない
  • 二のUITextField - 最小値= 0、最大値= 99

Iは、以下を使用してみました:

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

    NSUInteger newLength = [textField.text length] + [string length] - range.length; 
    bool kCheck = NO; 
    if([textField isEqual:txtDiscount]) 
    { 
    if(newLength>2) 
    { 
     kCheck = NO; 
    } 
     else 
      kCheck = YES; 
    } 
    return kCheck; 
} 

ただし、制御はif([textField isEqual:txtDiscount])の条件には該当しません。

+0

txtDiscountがメソッドに定義されていません。 –

+0

それはグローバルなUITextfieldです – Nitish

+0

他のテキストフィールド(txtDiscount以外)があなたのデリゲートを呼び出していると思います.... – Aravindhan

答えて

2

2つのUITextFieldオブジェクトが含まれている文字列ではなく、互いに比較しているため、機能しません。 isEqualを呼び出すのは正しいアイデアですが、あなたは間違ったことにそれを呼んでいます。

は、私が何を書きたかったことだったと思う。この:

if([textField.text isEqual:txtDiscount.text]) 

つまり、あなたがお互いに比較するために、テキストのプロパティを引き出す必要があります。

+0

txtDiscountはUITextフィールドです。 – Nitish

+0

文字列比較が機能しました。ソリューションの唯一の違いは、txtDiscountは文字列ではなくUITextfieldであることです。それに応じてあなたの答えを編集してください。 – Nitish

+0

ああ、つかまります。私は私の答えを編集しました、ありがとう。 – occulus