2016-09-21 7 views

答えて

0

self.view.endEditing(true)は、全体のビュー階層を循環し、firstRepsonderになることができるものがすべて辞退したため、効率が低下します。

現在レスポンダになっているアイテムが分かっている場合は、resignFirstResponderを直接呼び出す方が効率的で、より良い方法です。

+0

OK、しかし、firstName、LastName、Addressなどの複数のtextFieldがあり、最後に** submit' **ボタンがある場合、 'self.view.endEditing'がより良いものになります選択肢 – Honey

+1

@Honeyこれらのテキストフィールドのすべてが同時に最初のレスポンダになるわけではないので、 'submit'が選択されたときに最初のレスポンダが1つだけなので、' resignFirstResponder'を呼び出す必要があります。私は 'endEditing'を使ってパフォーマンスの影響を受けることはないと思っていますが、どのテキストフィールドがアクティブなのかを知り、それだけで辞めるのが一般的には良い方法です。 – random

+1

本当に興味深い質問です。私はresignFirstResponderを使用する理由を何も見られません**。私は彼らが将来それを非難すると信じています。 (効率面に関しては、いくつかの項目を話していますが、それは無関係です)(何らかの理由であなたがしたいことが起こった場合は、その項目だけで 'endEditing'を呼び出すことができます)。 – Fattie

関連する問題