2

私は2つのビューコントローラーを持っていますそれらをAとBと呼びましょう

(1)AIではtextFieldを含むpopOverを表示します
(2)Bでは単純なテキスト編集に使用されるUITextViewがあります

キーボードによって隠されたコンテンツをスクロールするには、AとBでキーボードを管理する必要があります。コンテンツの位置を変更する方法を知っています。私が必要としているのは、UIKeyboardWill(Show / Hide)Notificationと同じ通知タイプで異なる動作をする方法です。
これまでに行ったこと:
(1)このコードを各コントローラーに追加しました


    [[NSNotificationCenter defaultCenter] addObserver:self
                                  selector:@selector(keyboardDidAppear:)
                                      name:UIKeyboardWillShowNotification
                                    object:self.view.window
私が言ったように、私はこのコードをAとBに追加しましたが、期待どおりに機能しません。たとえば、textView内をクリックすると、AのkeyboardDidAppearとBのkeyboardDidAppearの2つのメソッドがトリガーされ、UIKeyboardWillHideNotificationでも同じことが起こります。私は何か間違ったことをしていると確信していますが、正直なところ私はそれを理解することができません。

4

2 に答える 2

3

通知に登録する場所を変更して、この問題を解決しました。表示されているviewControllerのみが通知を受信するコントローラーであることを確認するために、vieWillAppearで通知に登録し、viewWillDisappearで通知を削除します。

于 2011-02-25T07:37:14.690 に答える
0

Your syntax is a bit messed too, you need to add the word selector after the @ ...

[[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(keyboardDidAppear:)
                                                 name:UIKeyboardWillShowNotification
                                               object:self.view.window];
于 2013-03-06T16:20:10.820 に答える