0

私は最近「resignFirstResponder」を使用するたびにEXC_BAD_ACCESSを投げていますが、私は最近XCode(4.2とiOS5 SDK)を更新しました。UITextField -resignFirstResponderが失敗する

私はメモリ管理に精通していて、これまでに何もリリースされていないことを確認しています...狂った部分は "becomeFisrtResponder"が機能することです。

微細加工:

if(_TextField==input){ 
    [inputPassWord becomeFirstResponder]; 
} 
else 
{ 
    [input becomeFirstResponder]; 
} 

は失敗:それは何ができるかの

if(_TextField==input){ 
     [inputPassWord becomeFirstResponder]; 
    } 
    else 
    { 
     [_TextField resignFirstResponder]; 
    } 

任意のアイデアを?

ありがとうございます!

+0

にかなり新たなんだ、それは入力が一度に最初の応答者ではないことは可能ですか? –

+0

そうは思わない。 'if(_TextField == input){ [inputPassWord becomeFirstResponder]; } else { if([_ TextField isFirstResponder]) { NSLog(@ "YES"); [_TextField resignFirstResponder]; } // [inputPassWord resignFirstResponder]; } ' は" YES "を記録していますが、 – jdu

+1

が失敗した場合は、becomeFirstResponderがそれを保持する可能性がありますか? – jbat100

答えて

0

これは何か助けになるかどうかわかりませんが、2番目の例のロジックは正しいですか?

最初のものは、どのTextFieldが何かを行ったかどうかを確認してから、もう一方をfirstResponderに設定しているようです。

入力がテストされているtextFieldでない場合は、[input resignFirstResponder]しかコールしていないので、2番目のものは何もしないようです。

2行目のコードの切り替えを試みたか、==の代わりに!=を使用しましたか?試してみる価値があるかもしれません。

私はそれはしかし、あなたの問題を起こさなければならないとは思わないが、私はこの

+0

もちろん...それは "入力"ではなく "_TextField" – jdu

+0

NSLog()をresignFirstResponderの直後に貼ってみましたか? – Bertie

+0

また、これが一連のサブビューを通して繰り返し処理されている場合は、_TextFieldが実際にtextFieldであると確信していますか? _TextFieldの代わりに "input"を使って実行すると失敗しますか? – Bertie