滚动到 Focused Field Cordova

Posted

技术标签:

【中文标题】滚动到 Focused Field Cordova【英文标题】:Scroll to Focused Field Cordova 【发布时间】:2016-04-21 16:53:46 【问题描述】:

我的问题

我目前正在使用 Cordova 为 ios 编写应用程序。我有一个页面,上面有这样的表格:

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

// Prevent the keyboard from pushing up the webview
cordova.plugins.Keyboard.disableScroll(true);

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

    当某个字段获得焦点时,屏幕不会滚动到该字段,因此有时该字段会出现在键盘后面。 即使我确实有解决上述问题的方法,但对于位于屏幕底部的元素,我将无法向下滚动足够远以将它们带到键盘上方的视图中。

我的问题

解决方案 1

在 Cordova 中,有什么方法可以自动滚动到焦点字段而不将整个应用移出屏幕?

如果可能的话,我该如何处理接近底部且无法向上滚动到视图中的字段?

显然,第一点可以使用 javascript/jQuery 和一些巧妙的逻辑与 keyboard_heightposition()scrollTop() 来实现。但是,这会产生关于键盘后面输入字段的第二点的问题......

解决方案 2

如果我应用以下代码,它将解决上面突出显示的问题,但会产生另一个问题(如下所述):

// Enable the auto scroll when the keyboard is shown
cordova.plugins.Keyboard.disableScroll(false);

是否可以将我的标题(“编辑配置文件”位)修复到屏幕顶部以确保该部分始终可见?

【问题讨论】:

找到相关解决方案了吗? 【参考方案1】:

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

【讨论】:

以上是关于滚动到 Focused Field Cordova的主要内容,如果未能解决你的问题,请参考以下文章

Cordova - 使用固定的页眉和页脚滚动 (ios)

Cordova for IOS 中动量滚动期间的滚动事件

是否可以将 TimePicker 的“Focused”视图嵌入到另一个视图中?

Phonegap(Cordova)仅使用 data-position="fixed" 页眉/页脚滚动 ios 滚动问题

Cordova/Phonegap IOS 键盘滚动问题,显示白色背景

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