【问题标题】:iOS split screen width after keyboard displays键盘显示后iOS分屏宽度
【发布时间】:2019-10-23 09:52:48
【问题描述】:

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

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

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

页面 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 的计算宽度为 551 像素。键盘显示后,我的计算宽度为 1112 像素。知道为什么显示键盘会导致宽度返回不正确的值——或者我可以做些什么来获得正确的应用程序宽度?我还应该提到我正在使用cordova-plugin-keyboard 来实现一些键盘功能。

【问题讨论】:

  • 你的视口元数据是什么?
  • @Eric 刚刚添加 -- 谢谢!

标签: ios css cordova split-screen


【解决方案1】:

这个问题似乎来自键盘插件。 shrinkView 逻辑通过直接调整影响页面宽度的 WebView 的框架来工作。在这种情况下,它计算的是键盘和整个屏幕的交集,而不仅仅是应用程序的窗口。

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

cordova plugin add https://github.com/cjpearson/cordova-plugin-keyboard

【讨论】:

  • 就是这样——谢谢!
猜你喜欢
  • 2017-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-26
  • 2020-03-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多