0

通知を設定するために私が見つけることができるすべての例は、次のようになります。

[nc addObserver:self selector:@selector(keyboardWillShow:) name: UIKeyboardWillShowNotification object:nil];

object は常に nil に設定されています。object は notificationSender であり、ドキュメントで次のように定義されています。

「オブザーバーが通知を受け取りたいオブジェクト。つまり、この送信者によって送信された通知のみがオブザーバーに配信されます。nil の場合、通知センターは通知の送信者を使用して、通知をオブザーバーに配信するかどうかを決定しません。」

特定の1つのテキストビューだけキーボード通知を受け取りたいので、addObserverにそれを伝えたいのですが、オブジェクトに対して何を与えるべきかわかりません。興味のあるテキストビューにバインドされているアウトレット変数を試しましたが、通知がまったく得られませんでした。

助言がありますか?

4

3 に答える 3

0

競合する 2 つのニーズがありました。キーボードの高さを取得する必要があったため、キーボード通知を使用する必要がありました。これは、その方法でしか利用できないようですが、自分がどのテキスト ビューにいるのかを知る必要もありました。つまり、textViewDidBeginEditing も使用する必要がありました。デリゲート。いろいろいじった後、最終的に通知メソッドでキーボードの高さを取得し、それをインスタンス変数に格納することにしました。これは、デリゲート メソッドで使用できるようになりました (ビューを上にスクロールする必要があるため、下部のテキスト ビューはほとんど表示されません)。入力を開始すると、キーボードの下に隠されます)。少しエレガントではありませんが、機能します。

ポインタをありがとう!

于 2009-04-04T00:42:39.013 に答える