編集モードに設定できるUITextField
があります。UITextFieldが編集を終了した理由を調べるにはどうすればよいですか?
通常、キーボードに「完了」と入力すると編集が終了します。 これはtextFieldDidEndEditing(_ textField: UITextField)
と呼ばれ、ハウスキーピングが行われます。
まれに、ユーザーがジオフェンスを入力したというアラートが表示されます。テキストフィールドが編集モードにある場合、警告ビューが最初のレスポンダになるため、最初のレスポンダステータスが辞退し、textFieldDidEndEditing(_ textField: UITextField)
も呼び出されます。アラートが終了すると、テキストフィールドの最初のレスポンダステータスが復元されます。
問題:
私は両方のケースを区別する必要があります。
テキストフィールドがあるため、キーボード上の完了の編集を終了した場合、ハウスキーピングが起こるはずです。
アラートが表示されたために編集が終了した場合は、ハウスキーピングを行わないでください。
どのようにして両方のケースを区別できますか?
Iは、デリゲート関数reason
がcancelled
又はcommitted
であってもよい
textFieldDidEndEditing(_ textField: UITextField, reason: UITextFieldDidEndEditingReason)
を使用しようとし、両方の両方の場合において、その理由はcommitted
あります。