2011-01-30 70 views
3

在我的iphone應用程序中,我有6個textFields和一個tabBar(有3個按鈕Next,Previous,Done)。如何從一個textFields移動到tabBar按鈕的動作的下一個textField

我需要做的就是當我點擊下一個按鈕時,焦點應該從第一個textField移動到下一個textField。

在下一步按鈕的IBAction爲我寫了下面的代碼:

if ([txt1 isFirstResponder]==YES) { 

    NSLog(@"TXT1"); 

    [txt1 resignFirstResponder]; 

    [txt2 becomeFirstResponder]; 

} 
else if ([txt2 isFirstResponder]==YES) { 

    [txt2 resignFirstResponder]; 

    [txt3 becomeFirstResponder]; 

} 
else if ([txt3 isFirstResponder]==YES) { 

    [txt3 resignFirstResponder]; 

    [txt4 becomeFirstResponder]; 

} 
else if ([txt4 isFirstResponder]==YES) { 

    [txt4 resignFirstResponder]; 

    [txt5 becomeFirstResponder]; 

} 
else if ([txt5 isFirstResponder]==YES) { 

    [txt5 resignFirstResponder]; 

    [txt6 becomeFirstResponder]; 

} 
else if ([txt6 isFirstResponder]==YES) { 

    [txt6 resignFirstResponder]; 

} 

,當我使用此代碼的NSLog打印無限次。

可以做些什麼?

回答

1

哎呀,它的我的錯。我忘了將textField的代理連接到文件所有者.. 謝謝你們。

+2

嘗試不爲您的錯誤創建一個答案,請嘗試編輯您的問題。 – HelmiB 2011-01-30 10:47:55

1

可能是因爲如果txt1 isFirstResponder,您將txt2設置爲firstResponder,然後檢查txt2是否是第一響應者。您應該在每個if聲明的末尾加上break;

+0

但在我的代碼中,我把NSLog中的txt1條件陳述.. – Meghan 2011-01-30 06:53:09

0

實際上,在每個if語句中,您不需要resignFirstResponder,因爲每次移動到另一個字段時都不想關閉鍵盤。

相反,離開只是resignFirstRespondertxt6

相關問題