2015-05-20 51 views
-2

我有四個UITextField標記爲1到4.現在我想要獲取每個文本字段的文本長度。我想在shouldChangeCharactersInRange中獲得此信息。我知道這與textField.text.length我可以得到文本字段的文本長度,並與此textField.tag == 1我可以得到特定的標記UITextField。但是有可能得到一個特定的標籤UITextField的文本長度?使用它的標籤?如果是,如何?如何獲得不同標記的UITextField文本長度

很多預先感謝。 我不希望使用的情況下我UITextField

+0

首先爲每個文本字段分配不同的標籤值。在shouldChangeCharactersInRange中,獲取textField.tag值並與分配的標記值進行比較。 – Anoop

+0

@Tulon我試圖幫助你,我不期待你的這個。 –

+0

尊敬的@rmaddy,是否可以刪除這篇文章? – Tulon

回答

0

我不想用我的 的UITextField

的實例,然後你怎麼能指望來訪問它的屬性?只需爲每個UITextField分配一個標籤並在委託方法中訪問其屬性。

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

    if(textField.tag == 0) 
     NSLog(@"%i", textField.text.length); 

    return YES; 

} 
+1

感謝您的評論。是的,我也是這樣想的。除了使用實例'UITextField'之外別無他法。 – Tulon

+0

@Nikita我編輯了你的答案,因爲你寫錯了方法,你拒絕我的編輯。爲什麼?? –

+0

@AshokLondhe,你寫的編輯不正確,'string.length',將始終返回1.'string'的值將是輸入到文本字段中的最後一個字符。這就是我拒絕的原因。 – Michael

1

YES,你可以讓所有的你主視圖&那麼你可以重複循環子視圖做

for(UIView *v in [self.view allSubViews]) 
{ 
    if([v isKindOfClass:[UITextField class]]) 
    { 
     ** Here you can add you logic to check the tag of all text field & can get the length accordingly ** 
    } 
} 

讓我知道你是否需要再澄清就可以了..

+0

我認爲這太需要我了。 :( 任何方式感謝您的時間:) – Tulon

+0

@Tulon我認爲這是一個合適的答案。因爲這會同時獲得所有TextField的長度。 –

-2

試試這個...

switch (textField.tag) { 
    case 1: 
     NSLog(@"textfield1=%lu", (unsigned long)textField.text.length); 

     break; 

    case 2: 
     NSLog(@"textfield2=%lu", (unsigned long)textField.text.length); 
     break; 

    case 3: 
     NSLog(@"textfield3=%lu", (unsigned long)textField.text.length); 

     break; 

    case 4: 
     NSLog(@"textfield4=%lu", (unsigned long)textField.text.length); 
     break; 
    default: 
     break; 
} 
+0

perfecto。 :) Dhanneybad我的朋友。 :) – Tulon

+0

這是如何有用?它在每種情況下獲得完全相同文本字段的長度。 – rmaddy

+0

@rmaddy它會給每個文本框的長度。基於標籤。你可以檢查它。 –

相關問題