0

![ここに画像の説明を入力してください][1]ここに画像の説明を入力ウィンドウをその中に表示するサブビューとして追加しようとすると、キーボードが画面の下部から少しはみ出します。修正方法は?これが私のコードです。

keyboardWindowFrame = nil;
keyboardWindowFrame = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
for(UIView* potentialKeyboard in keyboardWindowFrame.subviews)
{   // if the real keyboard-view is found, remember it.
    if([[potentialKeyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
    {
        NSLog(@"Keyboard Frame: %@",NSStringFromCGRect(potentialKeyboard.frame));
        keyboard = potentialKeyboard;
        [keyboard addSubview:viewForGlobeEmoji];
        [self.view addSubview:keyboard];
    }
}

ここに添付のスクリーンショットがあります:

追加後、ツールバーとキーボードの間にスペースができるようになりました

  if([[potentialKeyboard description] hasPrefix:@"<UIPeripheralHost"] == YES)
        {
            NSLog(@"potentialKeyboard: %@",NSStringFromCGRect(potentialKeyboard.frame));


            keyboard = potentialKeyboard;
            CGRect frame = keyboard.frame;
            frame.origin.y = 332;
            keyboard.frame = frame;
            [keyboard addSubview:viewForGlobeEmoji];
            [self.view addSubview:keyboard];

         }
4

2 に答える 2

0

このようなことをするのは単純に間違っており、アプリストアのレビュアーからは歓迎されません。文書化されていないシステム API を改ざんしていますが、これは予期しない動作の結果にすぎません。

あなたが望むことを行う標準的な方法があります:

  1. キーボードのサイズと位置を確認するためのキーボード通知。
  2. [UIResponder 入力ビュー]
于 2012-10-19T10:02:46.717 に答える
0

この行の下にキーボードのフレームを設定する必要があります。

keyboard = potentialKeyboard;
CGRect frame = keyboard.frame;
frame.origin.y = xxx;
keyboard.frame = frame
于 2012-10-19T09:53:31.807 に答える