键盘显示后iOS分屏宽度

时间:2019-06-07 22:44:12

标签: ios css cordova split-screen

我刚刚开始研究我的Cordova应用程序中对分屏多任务的支持。到目前为止,该应用程序可以在模拟器中的iPad上显示并调整大小,但是当我单击编辑字段并显示软键盘时,宽度为100%的值将开始返回整个屏幕,而不是返回给定的窗口。

Initial display (app on right)

初始显示-到目前为止,很好...

Keyboard displayed, width is now wrong

不。该应用程序现在显示在其窗口之外。

页面HTML:

<html>
  ...
  <body>
    <div class="page">
    ...
    </div>
  </body>
</html>

CSS:

.page {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

编辑:视口元

<meta name="viewport" content="initial-scale=1, user-scalable=no, minimum-scale=1, maximum-scale=1, viewport-fit=cover">

在键盘显示之前,我对page类div的计算宽度为551px。键盘显示后,我的计算宽度为1112px。知道为什么显示键盘会导致宽度返回不正确的值-或我应该怎么做才能获得正确的应用程序宽度?我还应该提到,我将cordova-plugin-keyboard用于某些键盘功能。

1 个答案:

答案 0 :(得分:1)

该问题似乎来自键盘插件。 CAST(c.text as XML) AS 'SearchObject' 逻辑通过直接调整影响页面宽度的WebView框架的大小来工作。在这种情况下,它将计算键盘和整个屏幕的交集,而不只是应用程序的窗口。

我能够重现类似的行为,并加入了a patch来解决该问题。 (感谢Jin Lei)我想在发布版本之前进行更多测试,但是您可以直接从GitHub安装更新的插件,或在本地手动应用补丁。

shrinkView