我尝试了很多不同的解决方案,没有什么是我想要的.我想要的是键盘显示在内容之上(保持内容相同的大小),同时能够滚动到键盘覆盖的输入元素.
我试过的每一个解决方案都会给我一个或另一个,但不是两个.
我试过的解决方案:
使用adjustPan使我的元素保持相同的大小,但禁用滚动.使用adjustResize调整整个页面的大小,使一切变得微小.保持默认设置,仅调整包含输入元素的包装器的大小,但启用滚动.
我设法找到完全相同的问题(解答)这里.他们通过将应用程序的大小调整为150%并滚动到覆盖的输入元素来"修复"它,但他们说它并不理想.
任何帮助表示赞赏.
Sam*_* R. 12
对于config.xml中的大多数情况,将全屏首选项更改为false.那就行了.
<preference name="fullscreen" value="false" />
Run Code Online (Sandbox Code Playgroud)
Bis*_*oli 10
我有最有效的解决方案来自动滚动输入并使其可见.首先,您需要添加离子键盘插件(适用于任何cordova项目),因为eventlistener"showkeyboard"现在不起作用.
cordova plugin add ionic-plugin-keyboard --save
Run Code Online (Sandbox Code Playgroud)
然后在'keyboardshow'事件的事件处理程序中添加以下代码:
window.addEventListener('native.keyboardshow', function(e){
setTimeout(function() {
document.activeElement.scrollIntoViewIfNeeded();
}, 100);
});
Run Code Online (Sandbox Code Playgroud)
PS:仅在Android(Chrome)和Safari上支持此功能.:d
我对android项目输出有同样的问题,在我的情况下,输入元素没有向上移动键盘。经过一夜的搜索(包括那些配置更改和其他更改),我发现在我的angularjs cordova项目中
StatusBar.overlaysWebView(true);
StatusBar.hide();
Run Code Online (Sandbox Code Playgroud)
我的控制器中的线路引起了烦人的问题。我将这些行用于ios statusbar问题,现在我将其置于if条件下,问题已解决。
if( device.platform=="iOS")
{
StatusBar.overlaysWebView(true);
StatusBar.hide();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24432 次 |
| 最近记录: |