2011-12-08 101 views
0

我有兩個UITextfields。設置兩個不同UITextfields的最小和最大長度

  • 首先的UITextField - 最小值= 1個最大值=不固定
  • 二的UITextField - 最小值= 0和最大值= 99

我嘗試使用以下:

- (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

這不起作用,因爲您要比較兩個UITextField對象而不是它們包含的字符串。打電話isEqual是正確的想法,但你把它叫做錯誤的事情。

我想你想寫的是:

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

即你需要拔出文本屬性相互比較。

+0

txtDiscount是一個UITextfield。 – Nitish

+0

字符串比較工作。你的解決方案唯一的區別是txtDiscount是UITextfield而不是字符串。請相應地編輯您的答案。 – Nitish

+0

啊,知道了。我編輯了我的答案,謝謝。 – occulus