2011-11-18 51 views
1

有沒有辦法檢測使用標籤屬性是否存在UITextField?基本上我有一些動態創建的文本框,我想通過使用鍵盤上的返回鍵在字段中選項卡。iphone檢查UITextField是否存在使用標籤

我想使用下面的代碼形式另一篇文章,但'textField.superview'返回null。我正在編程創建文本字段。

-(BOOL)textFieldShouldReturn:(UITextField*)textField; 
{ 
    NSInteger nextTag = textField.tag + 1; 
    // Try to find next responder 
    UIResponder* nextResponder = [textField.superview viewWithTag:nextTag]; 
    if (nextResponder) { 
    // Found next responder, so set it. 
    [nextResponder becomeFirstResponder]; 
    } else { 
    // Not found, so remove keyboard. 
    [textField resignFirstResponder]; 
    } 
    return NO; // We do not want UITextField to insert line-breaks. 
} 
+0

我想我的答案適用於ü –

回答

2

您可以直接檢查這樣

 -(BOOL)textFieldShouldReturn:(UITextField*)textField { 
      if (textField.tag == 1) { 
      //Do the stuff what you want here 
      } 
     } 

用於設置標籤

 textFieldName.tag = 1; 
+0

我需要噸什麼o do是使用標籤檢查文本字段是否存在給定的int。我在創建標籤時設置了標籤。所以我會做一些像NSInteger nextTag = textField.tag + 1;在textFieldShouldReturn但我需要看看是否存在nextTag值的字段。我怎樣才能做到這一點? – camslaz

0

您是否設置了文本字段的標籤?標籤字段不會自動設置,您必須在創建文本字段時自行設置,以便稍後識別。如果不設置它,他們都默認爲0 - 所以你永遠不會找到任何字段文本> 0

1

您可以使用isKindofClass:method.You可以這樣做

if ([[textField.superview viewWithTag:nextTag] isKindOfClass:[UITextField class]]) 
    { 
    // Found next responder, so set it. 
    [(UITextField *)[textField.superview viewWithTag:nextTag] becomeFirstResponder]; 
    } else { 
    // Not found, so remove keyboard. 
    [textField resignFirstResponder]; 
    } 
    return NO; // We do not want UITextField to insert line-breaks. 
}