いつ通知を受け取ることができますUITextField
becomeFirstResponder
?UITextFieldがFirstFirstResponderになったときに通知を受け取ります
は、私は、通知やユーザーはこのテキストフィールドファーストレスポンダを作るイベントを処理取得したいbecomeFirstResponder
でファーストレスポンダになるために設定isFirstResponder
かのように確認することができます。
ありがとうございました。
いつ通知を受け取ることができますUITextField
becomeFirstResponder
?UITextFieldがFirstFirstResponderになったときに通知を受け取ります
は、私は、通知やユーザーはこのテキストフィールドファーストレスポンダを作るイベントを処理取得したいbecomeFirstResponder
でファーストレスポンダになるために設定isFirstResponder
かのように確認することができます。
ありがとうございました。
テキストフィールドのデリゲートを来るする必要があり、このオプションのデリゲートメソッドを実装します:
- (void)textFieldDidBeginEditing:(UITextField *)textField;
UITextFieldDelegate
方法textFieldDidBeginEditing:
を実装するだけでなく、あなたがUITextFieldTextDidBeginEditingNotification
通知を登録することができます。
通知方法は次のようになります。
- (void)someTextFieldDidBeginEditing:(NSNotification *)notification {
UITextField *textField = (UITextField *)notification.object;
}
OSXのためにあなたがNSControlTextDidBeginEditingNotification
に頼る時に副作用を持つボタンに注意する必要があります。
編集を開始していくつかのボタンを押して、テキストフィールドの編集を再開すると、編集を再開するときにもう一度NSControlTextDidBeginEditingNotification
が表示されません。
この現象が原因で問題が発生する場合は、UITextFieldTextDidChangeNotification
を代わりに使用することもできます。
デリゲートは間違いなく道のりです。残念ながら、私の状況では、コントローラは私のUITextFieldサブクラスの代理人だったので、私はそれを使用できませんでした、そして、私はそれをプレースホルダテキストを変更する必要がありました。代わりに、私はメソッドをオーバーライドします- (BOOL)canBecomeFirstResponder;
& - (BOOL)resignFirstResponder;
。スーパーに電話してください。
ええ、あなたのコメントは私の問題を解決したsuperを呼び出すことを覚えています。 –