downloads developer desarrollador apple app ios cordova webview keyboard

developer - phonegap ios app



Cómo evitar que el teclado incremente webview en la aplicación iOS usando phonegap (5)

Asegúrate de esto en tu config.xml

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

Cuando un campo de entrada en la parte inferior de la pantalla tiene el foco, el teclado empuja hacia arriba mi vista web y la parte superior de la página ya no es visible.

Quiero evitar que el teclado suba la vista web.

Alguien tiene una idea ?


En el foco, establece window.scrollTo (0,0); Esto evita que el teclado empuje la vista web completamente

$(''input'').on(''focus'', function(e) { e.preventDefault(); e.stopPropagation(); window.scrollTo(0,0); //the second 0 marks the Y scroll pos. Setting this to i.e. 100 will push the screen up by 100px. });

Si no desea establecer un valor estático para su posición de desplazamiento Y, no dude en usar este pequeño complemento que he escrito que alinea automáticamente el teclado debajo del campo de entrada . No es perfecto, pero hace el trabajo. Simplemente llama a este enfoque como se muestra arriba:

setKeyboardPos(e.target.id);


LITERALMENTE FUE A TRAVÉS DE 100 respuestas antes de que tuviera que encontrar la respuesta yo mismo. Así que aquí es cómo deshabilitar el desplazamiento de la interfaz de usuario en IOS. simplemente cuando cordova se está cargando, agregue esto. Por favor instalar:

cordova plugin add ionic-plugin-keyboard --save

y luego, cordova prepare para cargar este nuevo complemento en su carpeta www.

document.addEventListener(''deviceready'', function(e){ window.addEventListener(''native.keyboardshow'', function () { cordova.plugins.Keyboard.disableScroll(true); }); });

Y eso es. Por favor, hágamelo saber si esto fue útil. Estaré encantado de responder más.


Resuelto este problema usando driftyco / ionic-plugins-keyboard ( https://github.com/driftyco/ionic-plugins-keyboard )

Primero instale el plugin de teclado:

cordova plugin add com.ionic.keyboard

Ahora puede : o bien deshabilitar el desplazamiento del teclado nativo:

cordova.plugins.Keyboard.disableScroll(true);

o II) escuche en el evento native.keyboardshow en deviceready y desplácese hasta la parte superior cuando el teclado muestra:

window.addEventListener(''native.keyboardshow'', keyboardShowHandler); function keyboardShowHandler(e){ setTimeout(function() { $(''html, body'').animate({ scrollTop: 0 }, 1000); }, 0); }

Utilicé el método II) porque me gustaba el desplazamiento animado en mi caso. Si no desea continuar con la animación, reemplace la línea correspondiente con window.scrollTo(0, 0); . Pero me temo que, en ese caso, tendrás que volver a lidiar con esta "animación de fluctuación de la basura" sobre la que escribió Imskull .


Tuve el mismo problema y ninguna de las soluciones anteriores me ayudó, pero encontré una forma sencilla de superarlo.

En la plataforma / carpeta de Android, abra el archivo manifest.xml y en la etiqueta de actividad principal reemplace el atributo android: windowSoftInputMode = "adjustResize" con android: windowSoftInputMode = "adjustPan"

Ahora el teclado superpondrá tu contenido.

Espero que ayude a alguien.