2011-12-21 13 views
1

all。iPadでiOS5のキーボードを分割したことを確認する方法

私はiPad、iOS5でキーボードスプリットイベントをキャッチしようとしています。私は、すべてのキーボードの通知方法を登録してきたし、それは私が(出現順に)キーボードを分割するとき、私は何を得るの通知です:

UIKeyboardWillHideNotification UIKeyboardWillChangeFrameNotification UIKeyboardDidHideNotification UIKeyboardDidChangeFrameNotification UIKeyboardDidChangeFrameNotification

ので、ノーWillShowかDidShow通知が表示されますが、キーボードはまだ画面に表示されています。

UIKeyboardFrameEndUserInfoKeyキーには同じ値(起点(352; 0)、サイズ(316; 1024))が含まれていますが、結果的に2つのUIKeyboardDidChangeFrameNotificationが助けになりました)を両方の通知に使用します。

ですから、問題は、iPad、iOS5でスプリットキーボードイベントをキャッチする方法ですか?

+0

私はこれと同じ質問が信じていますhttp://stackoverflow.com/questions/8100443/has-anyone-found-a-good-way-of-using-the-new-ios5-keyboard-events –

+0

驚くほどこれはkbイベントの一部ではありません。 – user523234

答えて

4

キーボードをドッキングすると、UIKeyboardWillShowNotificationが引き上げられます。キーボードが分割または固定解除されている場合、キーボード通知は表示されません。

キーボードがドッキングされている場合は、UIKeyboardWillShowNotificationが提起され、次のことが真となります。

[[[notification userInfo] valueForKey:@"UIKeyboardFrameChangedByUserInteraction"] intValue] == 1 

キーボードがドッキングされている場合は、UIKeyboardWillHideNotificationが発生しますと、上記の文はまた真なります。

この情報を使用して、私のユーザーインターフェイスをコード化するのに適しています。

注:これはAppleのガイドラインに違反している可能性があります。

+0

これはプライベートAPIではないため違反ではありません。 Appleはそれを独自のアプリで使用しています。 Numbersのスプリットキーボードオーバーレイ用です。 – manmal

関連する問題