滚动到Focused Field Cordova

Ben*_*rey 6 javascript jquery ios cordova

我的问题

我目前正在使用Cordova编写iOS应用程序.我有一个页面,上面有一个表格,如下所示:

表格示例

当用户点击某个字段时,键盘会在iOS上按预期显示.但是,为防止我的应用移出屏幕,我启用了以下设置:

// Prevent the keyboard from pushing up the webview
cordova.plugins.Keyboard.disableScroll(true);
Run Code Online (Sandbox Code Playgroud)

不幸的是,这可以防止一些导致我问题的事情:

  1. 当一个场被聚焦时,屏幕不会滚动到该区域,因此有时候,该区域会出现在键盘后面.
  2. 即使我确实有上面的解决方案,对于屏幕底部的元素,我将无法向下滚动足够远以使它们进入键盘上方的视图.

我的问题

解决方案1

在科尔多瓦,有没有办法自动滚动到聚焦场而不将整个应用程序移出屏幕?

如果可能,那么如何处理靠近底部的字段并且不能再向上滚动到视图中?

显然,第一点可以使用JavaScript/jQuery和一些聪明的逻辑来实现keyboard_height,position()scrollTop().但是,这会产生关于键盘背后输入字段的第二点的问题......

解决方案2

如果我应用以下代码,它将修复上面突出显示的问题,但它将创建另一个问题(如下所述):

// Enable the auto scroll when the keyboard is shown
cordova.plugins.Keyboard.disableScroll(false);
Run Code Online (Sandbox Code Playgroud)

无论如何要将我的标题("编辑配置文件"位)修复到屏幕顶部以确保该部分始终可见?

Ale*_*kov 1

用途https://www.npmjs.com/package/cordova-plugin-keyboard#keyboardshrinkview及其Keyboard.shrinkView方法。