4

チャットアプリを開発していますが、キーボードが表示されるときに問題が見つかりました。UIKeyboardDidShowNotification を使用して、チャットのテキストビューとボタンをキーボードの上に移動しています。しかし、単語の提案を表示したり、キーボードを日本語などの他の言語に変更したりすると、チャットのテキストビューが単語の提案ツールバーによって隠されます。UIKeyboardNotification で取得したキーボードの高さが遅れています。では、提案ツールバーが表示されているかどうかを検出する方法は?

- (void)keyboardWasShown:(NSNotification*)aNotification
{
    NSDictionary *userInfo = [aNotification userInfo];
    CGSize kbSize = [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
    CGRect rectTable = rTable;
    rectTable.origin.y -= kbSize.height;
    CGRect rectToolBar = rToolbar;
    rectToolBar.origin.y -= kbSize.height;

    [UIView animateWithDuration:0.25f
                     animations:^{
                         [self.tableView setFrame:rectTable];
                         [self.toolBar setFrame:rectToolBar];
                     }
    ];
}

テキストビューの場所を変更してもうまくいかない場合、キーボードの上にテキストビューを配置する別の方法はありますか?

4

2 に答える 2