重複の可能性:
iPhoneでのtextfieldshouldendeditingとtextfieldDidendeditingの違い
textFieldShouldendEditing
とtextfieldDidEndEditing
メソッドの違いは何ですか?いつこれらのメソッドを使用しますか。
重複の可能性:
iPhoneでのtextfieldshouldendeditingとtextfieldDidendeditingの違い
textFieldShouldendEditing
とtextfieldDidEndEditing
メソッドの違いは何ですか?いつこれらのメソッドを使用しますか。
ドキュメントから:
textFieldShouldendEditing:
このメソッドは、テキストフィールドがファーストレスポンダーのステータスを辞任するように求められたときに呼び出されます。これは、アプリケーションがテキストフィールドにフォーカスを辞任するように要求した場合、またはユーザーが編集フォーカスを別のコントロールに変更しようとした場合に発生する可能性があります。ただし、フォーカスが実際に変わる前に、テキストフィールドはこのメソッドを呼び出して、デリゲートにそれを行うかどうかを決定する機会を与えます。
textfieldDidEndEditing:
このメソッドは、テキストフィールドが最初のレスポンダーステータスを辞任した後に呼び出されます。このメソッドを使用して、デリゲートの状態情報を更新できます。たとえば、このメソッドを使用して、編集中にのみ表示されるはずのオーバーレイビューを非表示にすることができます。
したがって、メソッドはメソッドのtextFieldShouldendEditing:
前に呼び出されますtextfieldDidEndEditing:
textFieldShouldendEditing
textFieldが編集モードを終了しようとしているときに呼び出されます。BOOLリターン型です。設定したreturn NO
場合、textFieldはresignFirstResponderにならず、編集モードのままになりtextfieldDidEndEditing
、呼び出すことはありません。
これは、textfieldDidEndEditing
テキストフィールドが編集モードではなく、キーボードがダウンしていることを通知する方法です。
詳細については、plzはUITextFieldDelegateプロトコルを参照してください。 これがお役に立てば幸いです:)
textFieldDidEndEditing: テキストフィールドが最初のレスポンダーとして辞任したときに呼び出されます。したがって、ユーザーから入力された値を取得できます。
textFieldShouldendEditing:ユーザーが入力したキーをテキストフィールドに表示するかどうかを確認するために使用されます。したがって、NOを返すと、キーは表示されません。入力する文字数を制限したいラベルを想像してみてください。NO
上記を使用して、入力された文字数を確認し、制限に達した場合は、基本的に新しいキーストロークを必要としない値を返します。
詳細については、リファレンスドキュメントを確認してください。