0

選択可能なグループで構成される小さな gui アプリがあります。各グループには、サブグループ、画像、およびテキスト フィールドを表示するための開示ボタンがあります。テキスト フィールドの編集中に別のグループまたは別のテキスト フィールドを選択したときに、古いテキスト フィールドの編集を終了したい。また、編集中のテキストフィールドの背景のみを表示したいです。

becomeFirstResponder でバックグラウンドを有効にし、textDidEndEditting で無効にする呼び出しを追加して、これを達成しようとしています。私は、textFieldを選択するとbecomeFirstResponderの直後にresignFirstResponderを呼び出すように見えるので、resignFirstResponderの代わりにtextDidEndEdittingで無効にする呼び出しを入れました。これは通常の動作なのか、それとも私のコードの他の問題の兆候なのか疑問に思っています。これが正常な動作である場合、その背景を非アクティブ化するための呼び出しを配置するより良い場所があります。

4

1 に答える 1

-1

resignFirstResponder同じテキスト フィールドが と の両方を 呼び出しているとは思いませんbecomeFirstResponder

フォーカスを別の UI 要素に移動すると、テキスト フィールドは自動的に編集を終了する必要があります。手動で管理する必要はありません。ただし、フォーカスを取得または失ったときにフィールドを変更する場合は、その機能becomeFirstResponderresignFirstResponderそれぞれ および に配置する必要があります。

于 2010-02-25T03:00:14.357 に答える