通知を受け取るにはどうすればよいUITextField
becomeFirstResponder
ですか?
のようにチェックするisFirstResponder
か、ファーストレスポンダーになるように設定することができますbecomeFirstResponder
ユーザーがこのテキストフィールドをファーストレスポンダーにしたときに、通知を受け取ったり、イベントを処理したりしたい。
ありがとう。
通知を受け取るにはどうすればよいUITextField
becomeFirstResponder
ですか?
のようにチェックするisFirstResponder
か、ファーストレスポンダーになるように設定することができますbecomeFirstResponder
ユーザーがこのテキストフィールドをファーストレスポンダーにしたときに、通知を受け取ったり、イベントを処理したりしたい。
ありがとう。
テキストフィールドのデリゲートになり、次のオプションのデリゲートメソッドを実装する必要があります。
- (void)textFieldDidBeginEditing:(UITextField *)textField;
UITextFieldDelegate
メソッドの実装に加えて、通知textFieldDidBeginEditing:
に登録できます。UITextFieldTextDidBeginEditingNotification
通知方法は次のとおりです。
- (void)someTextFieldDidBeginEditing:(NSNotification *)notification {
UITextField *textField = (UITextField *)notification.object;
}
代表者は間違いなく行く方法です。残念ながら、私の状況では、コントローラーがUITextFieldサブクラスのデリゲートであり、プレースホルダーテキストを変更する必要があったため、これを使用できませんでした。代わりに、メソッド- (BOOL)canBecomeFirstResponder;
&をオーバーライドします- (BOOL)resignFirstResponder;
。必ずスーパーと呼んでください。
OSXの場合、に依存する場合は、ボタンに副作用があることに注意する必要がありますNSControlTextDidBeginEditingNotification
。
編集を開始し、いくつかのボタンを押して、テキストフィールドの編集を再開すると、編集NSControlTextDidBeginEditingNotification
を再開しても1秒もかかりません。
この動作が問題を引き起こす場合は、別の方法でUITextFieldTextDidChangeNotification
ある可能性があります。