如何检测键盘顶部的单词建议栏是不是显示?
Posted
技术标签:
【中文标题】如何检测键盘顶部的单词建议栏是不是显示?【英文标题】:How to detect word suggestion bar on top of keyboard is showed or not?如何检测键盘顶部的单词建议栏是否显示? 【发布时间】:2013-10-11 09:47:57 【问题描述】:我正在开发一个聊天应用程序,当键盘出现方法时我发现了一个问题。我正在使用 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];
];
如果更改 textview 位置不起作用,是否有另一种方法可以将 textview 放在键盘顶部?
【问题讨论】:
您编写的任何代码部分,请在此处发布。会有帮助吗? 我用代码更新。 【参考方案1】:不要使用这个,
CGSize kbSize = [[userInfo objectForKey:UIKeyboardFrameBeginUserInfoKey] CGRectValue].size;
试试这个
CGSize kbSize = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue].size;
【讨论】:
【参考方案2】:做了一个条件,如果用户输入的文本在第一行,则设置[textview setScrollEnabled:NO]
,否则设置YES
。
【讨论】:
我不想那样做。只想将textview放在键盘的suggesstion word bar的顶部。 您是否在单独的 uiview 中显示建议? 不,用日文键盘输入时的提示栏。 对不起,我没有使用日文键盘。你能把你的问题说清楚吗?以上是关于如何检测键盘顶部的单词建议栏是不是显示?的主要内容,如果未能解决你的问题,请参考以下文章