【问题标题】: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 放在键盘顶部?

【问题讨论】:

  • 您编写的任何代码部分,请在此处发布。会有帮助吗?
  • 我用代码更新。

标签: ios objective-c uikeyboard


【解决方案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 中显示建议?
    • 不,用日文键盘输入时的提示栏。
    • 对不起,我没有使用日文键盘。你能把你的问题说清楚吗?
    猜你喜欢
    • 2021-12-05
    • 1970-01-01
    • 2020-07-19
    • 1970-01-01
    • 1970-01-01
    • 2011-06-10
    • 2020-06-07
    • 2011-08-25
    • 1970-01-01
    相关资源
    最近更新 更多