通知を受け取るにはどうすればよい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ある可能性があります。