android - Phonegap - 由于 vh 单元,iOS 键盘和下拉菜单 'compress' webview

标签 android html ios css cordova

对于 ionic/phonegap 应用程序,我遇到了这个问题(仅限 iOS)。

当用户需要写东西时 o 选择和选项 iOS 控件(键盘或下拉菜单)出现,当它出现时,web View 被压缩到一半。我在 CSS 中使用 vh 和 vw 度量单位。

我做过/尝试过的:

This post in ionic's forum OP 通过将 vh 和 vw 单位改回像素来解决它。这对我来说不是解决方案。

Ionic keyboard plugin使用方法 cordova.plugins.Keyboard.disableScroll(true);没用。尝试了 false 和 true。

Add parameters to the meta tag不工作。我当前的元数据:

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />

隐藏键盘时的图像:

When keyboard is hidden

显示键盘时的图像:

When keyboard is shown

在第二张图片上,您几乎无法阅读 left text - right text 因为输入的高度是 24vh。

我创建了一个虚拟页面,其中我不使用 vh 和 vw,这工作正常。在 Android 上也可以正常工作。似乎当 de keyboard 或 dropdown 出现时,视口(viewport)的高度会调整大小并且 vh 大小会适应它。

因为我无法将其更改为px,所以我正在寻找其他替代方案

最佳答案

保存输入元素的父容器不能包含 height:100% 或 100vh 在 iOS 上如果那是你想要做的。我在 iOS timepicker 上遇到了类似的问题,缩小屏幕尺寸并显示空白,就像你的一样。

如果键盘高度是 iOS 设备屏幕高度的一半,通常会发生这种情况。在 iPhone 6 等较大的屏幕上,不会发生此问题。

我在调整大小的同一容器上使用了 min-height:480pxheight:100vh。它解决了我在较小设备上的问题。

cordova.plugins.Keyboard.disableScroll(true); 不是必需的。

让我知道这是否适合您。

关于android - Phonegap - 由于 vh 单元,iOS 键盘和下拉菜单 'compress' webview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32960390/

相关文章:

html - Facebook 不从博客中提取元数据

javascript - 单击 href 链接,div 显示图像

javascript - 如何防止我的表单操作 (html) 使用 javascript?

ios - 如何根据页码排列 JSON 解析数组?

iOS UILabels 中显示奇怪的文本

java - 自定义ListView的RelativeLayout中的Android布局居中

android - list 中未请求应用程序请求权限

android - Firebase Analytics 禁用受众国家/地区跟踪

iOS 应用程序需要 arm64 吗?

php - 我如何在 php 中验证 google play 应用内购买?