在 iPhone 上打开键盘时 Cordova 应用程序滚动

Posted

技术标签:

【中文标题】在 iPhone 上打开键盘时 Cordova 应用程序滚动【英文标题】:Cordova application scrolls when keyboard is open on iPhone 【发布时间】:2015-10-07 16:19:56 【问题描述】:

我目前正在构建一个基于 Cordova 的 Web 应用程序。

当用户决定关注文本框并且键盘打开时,整个应用程序正在向上滚动,包括背景和所有固定元素。

在下面的例子中,背景是应用在 html 标签上的,并且 logo 是固定位置的。

html 
    background: url('background.jpg') center center;
    background-size: cover;
    height: 100vh;
    overflow: hidden;


.logo 
    top: 80px;
    position: fixed;
    text-align: center;

有没有办法使用基于网络的科尔多瓦应用程序,当键盘打开时只将表单移动到顶部,而不移动背景,也不移动徽标?

我希望键盘缩小视图,将其调整为更小的尺寸,而不是使用右侧的滚动条将其向上推。

谢谢。

【问题讨论】:

【参考方案1】:

您可以为此使用keyboard plugin。安装插件,然后在 config.xml 文件中设置此首选项。

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

它通过将 webview 缩小到键盘上方的空间来工作,所以这应该会给你描述的行为。

【讨论】:

android InAppBrowser 中运行良好,但我无法在 ios InAppBrowser 中运行。你知道这些设置是否应该在 InAppBrowser 中起作用吗? Android 默认情况下对所有 webview 都具有 KeyboardShrinksView 行为。此插件仅将行为添加到 iOS 上的主 webview。

以上是关于在 iPhone 上打开键盘时 Cordova 应用程序滚动的主要内容,如果未能解决你的问题,请参考以下文章

到达下拉列表时单击iphone移动箭头键,应显示下拉列表内容

在 PhoneGap 应用程序中以编程方式在 iPhone 上显示软键盘?

如何在 iphone 模拟器上使用键盘打字?

Phonegap/Cordova 在 iphone 上加载时将启动图像旋转 90 度

iPhone 6 模拟器,隐藏键盘问题

使用cordova 和 pixi.js 无法在 iPhone 上呈现画布