UITextFiekdでフォーカス解除イベントをリッスンするにはどうすればよいですか?
テキストフィールドがフォーカスを失ったときにアクティブになる一種のハンドラーを作成します。たとえば、アプリケーションの別の部分をクリックすると、そのlistenはUITextField内のテキストを自動的に登録します。
ありがとうございました。
UITextFiekdでフォーカス解除イベントをリッスンするにはどうすればよいですか?
テキストフィールドがフォーカスを失ったときにアクティブになる一種のハンドラーを作成します。たとえば、アプリケーションの別の部分をクリックすると、そのlistenはUITextField内のテキストを自動的に登録します。
ありがとうございました。
テキストフィールドがファーストレスポンダーとして辞任する場合、UITextFieldTextDidEndEditingNotificationがあります。デリゲートメソッドtextFieldDidEndEditing:を利用することもできます。
デフォルトの通知センターのシングルトンにカスタム通知を追加できます。
テキストフィールドが表示されなくなったときに実行するコードを含むメソッドをテキストフィールドスーパービュービューコントローラに設定することから始めます。
-(void)textFieldLostFocus{
//do some work here...
}
次に、通知オブザーバーをデフォルトの通知センターに追加します。(uはこれを入れることができますviewDidLoad
)
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldLostFocus)
name:@"TextFieldDidLoseFocus" object:nil];
次に、UITextfieldのsuperviewsビューコントローラ内に次を追加します。
-(void)viewDidDisappear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] postNotificationName:@"TextFieldDidLoseFocus" object:self userInfo:nil];
}
ビューが非表示になると、通知センターからカスタムメソッドが呼び出されます。
2つのステップ。まず、デリゲートを定義します。次に、textFieldDidEndEditing:
デリゲートメソッドを実装します。このセレクターは次の場合に呼び出されます
テキストフィールドは、最初のレスポンダーステータスを辞任します。
これは、フォーカスを失うためのiOSの話です。ドキュメントはこちらです。