PhoneGap 2.7 HideKeyboardAccessoryBar不工作

时间:2013-05-23 07:24:36

标签: cordova

在config.xml文件中,我添加了一行:

<preference name="HideKeyboardFormAccessoryBar" value="true" />

要删除iOS中键盘上的栏,但它不起作用,栏仍会显示。

我正在使用HTML,CSS,javaScript和编辑器Notepad ++。

我见过关于CDVViewController的讨论,但我不知道如何使用它。

我在PhoneGap比较新。如果你帮助我,我很高兴。

1 个答案:

答案 0 :(得分:1)

这是一个错误。

  1. 尝试使用偏好标记在KeyboardShrinksView = true中设置属性config.xml
  2. 2.可能是因为显示键盘后WebView没有正确调整大小。默认情况下,PhoneGap会通过键盘高度减去视图框来调整WebView的高度。但是,它没有考虑表格附件栏隐藏在该计算中的事实。

    这是一个临时解决方案,PhoneGap解决了这个问题:

    CDVViewController.m(在Classes / Cleaver下),转到第140行。它应该在- (void) keyboardWilLShowOrHide方法中。在showEvent if语句中,它会根据键盘的高度计算WebView的新大小。

    将if语句的内容更改为:

    if (showEvent) {
        newFrame.size.height -= keyboardFrame.size.height;
        if ([@"true" isEqualToString: self.settings[@"HideKeyboardFormAccessoryBar"]]) {
            newFrame.size.height += 45;
        }
    }
    

    我添加了一个额外的if语句,它还会检查HideKeyboardFormAccessoryBar配置。如果设置了它,它会将WebView的大小增加45个像素(表单附件栏的高度)。

    我遇到过类似的问题。这个解决方案对我有用。希望你能找到答案。