チャットアプリを開発していますが、キーボードが表示されるときに問題が見つかりました。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];
}
];
}
テキストビューの場所を変更してもうまくいかない場合、キーボードの上にテキストビューを配置する別の方法はありますか?