0

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

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

在 iOS 中删除键盘上的栏但它不起作用并且仍然显示栏。

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

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

我在PhoneGap 相对较新。如果你能帮助我,我很高兴。

4

1 回答 1

2

这是一个错误。

  1. 尝试使用偏好标签设置属性KeyboardShrinksView = trueconfig.xml

WebView2.可能是键盘显示后没有正确调整大小造成的。默认情况下,通过键盘高度减去视图框架来PhoneGap调整WebView高度。但是,它没有考虑到表单附件栏隐藏在该计算中的事实。

PhoneGap这是修复此错误时的临时解决方案:

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

将 if 语句的内容更改为:

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

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

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

于 2013-05-23T08:54:06.520 回答