Phonegap 2.6 与 KeyboardShrinksView 和 HideKeyboardFormAccessoryBar

2024-01-25

我对 2.6 (ios) 中的新 PhoneGap 功能之一有疑问,最后他们包含了一个缩小 WebView 以处理固定元素的选项。不幸的是,结合HideKeyboardFormAccessoryBar选项设置为 true,会出现一个奇怪的白色条,而不是 AccessoryView(看看截屏 https://i.stack.imgur.com/3fgV8.png)。 当我设置时,这没有发生KeyboardShrinksView为假

有谁在新版本中遇到过类似的问题吗?这是一个错误还是一个功能? ;)

干杯 霍斯特。


这是一个错误。这是由于键盘显示后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 像素(表单附件栏的高度)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Phonegap 2.6 与 KeyboardShrinksView 和 HideKeyboardFormAccessoryBar 的相关文章

随机推荐