2011-01-30 10 views
3

私のiPhoneアプリケーションでは、私は6つのtextFieldとtabBarを持っています。どのように1つのtextFieldsから次のtextFieldに移動するかTabBarボタンの操作

私がする必要があることは、次のボタンをクリックすると、フォーカスが最初のtextFieldから次のtextFieldに移動する必要があることです。私はこのコードを使用する場合

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が無限回を印刷します。[次へ]ボタンのIBActionで

は、私は、次のコードを記述します。

何ができますか?

答えて

1

おっと、その私のミスでのみresignFirstResponderを残します。私はtextFieldの代理人をファイル所有者に接続するのを忘れました。 ありがとう、皆さん。

+2

あなたの間違いに対する回答を作成しないようにしてください。質問を編集してみてください。 – HelmiB

1

txt1 isFirstResponderの場合は、firstResponderとしてtxt2を設定してから、txt2が最初のレスポンダであるかどうかを確認する必要があります。各ifステートメントの末尾にbreak;を置く必要があります。

+0

しかし、私のコードでは、txt1の状態の場合にNSLogを入力します。 – Meghan

0

実際に、各if文では、別のフィールドに移動するたびにキーボードを却下したくないので、resignFirstResponderは必要ありません。

代わりに、txt6

関連する問題