0

iOS6 (iPad 3 およびシミュレーター) でキーボードをドッキング解除すると、キーボード + アクセサリ ビューは、UIKeyboardFrameEndUserInfoKey のこれらのフレームを報告します (横向きビューに変換されます)。

...WillChangeFrameNotification: {{0, 660}, {1024, 396}}
...DidChangeFrameNotification: {{0, 108}, {1024, 396}}

つまり、キーボードは、閉じたときに通常持っている Y 座標、つまり 660 を持つことをすぐに報告します (キーボードのドッキング解除も WillHide 通知を送信するため、これは問題ありません)。しかし、その後、気が変わって、フレームをまったく別の位置 (y = 108) に変更したと報告します。

何か不足していますか?

4

1 に答える 1

2

いいえ、これはバグではありません。現在のビューの座標を変換するだけです:

CGRect keyboardFrame = [[[notification userInfo] objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGRect dd  = [self.view convertRect:keyboardFrame fromView:nil];
NSLog(@"keyboard frame %@", NSStringFromCGRect(dd));

簡単なGistを追加しました

于 2013-07-10T09:19:10.807 に答える