1

UIViewとのオブザーバーが追加されたサブクラスがUIKeyboardWillShowNotificationありUIKeyboardWillHideNotificationます。これUIViewUITableViewCellサブクラスにあります。を含む他の 2 つのUITableViewCellサブクラスがありますUITextFields。それらのテキスト フィールドがタップされると、私のカスタムUIViewはそれらの通知を受け取ります。メール コンポーザー ビュー タイプ用にこれら 3 つのUITableViewCellサブクラスをセットアップしました。

サブクラスがキーボードを受信したときに、それが ui テキスト フィールドを含む他のものではなく、他のものではないUIViewという通知を表示または非表示にするにはどうすればよいですか?UIViewUITableViewCell's

UIView サブクラスに UIWebView があることに言及する必要があります。contenteditable div がタップされたときに、キーボードが起動したという通知を受け取りたいのですが、UIWebView インスタンスに対してのみです。

私は次のことができると思っていましたが、うまくいかないようです。

[[NSNotificationCenter defaultCenter] addObserver:self selector@(selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:_webView];
4

1 に答える 1

1

私はそれがあなたが必要とするものに依存すると思いますUIKeyboardNotification、あなたは同じことを達成することができます:

- (void)textFieldDidBeginEditing:(UITextField *)textField

編集がいつ開始されたかを確認します。そして、これは編集がいつ終了したかを確認するためのものです。

- (void)textFieldDidEndEditing:(UITextField *)textField

プロトコルUITableViewCellsに準拠する必要があることを忘れないでください。UITextFieldDelegate

UITextFieldDelegateプロトコルに関するクイックリファレンス


編集:もう1つ、私が提供した解決策は、特定の人がいつUITextFieldファーストレスポンダーになったのかを知る必要がある場合に意味があります。それを気にせず、キーボードが実際にいつ出入りするかを知る必要がある場合は、個々のセルではなく、UIViewController自分のセルがあることを通知する必要があります。UITableViewその後UIViewController、適切なアクションを実行する必要があります。

于 2012-06-21T14:57:20.340 に答える