with icon buttons bar ios input uiwebview ios7 virtual-keyboard

icon - Elementos de entrada iOS 7 moviendo elementos posicionados fijos



ionic icon navbar (4)

Estoy intentando recompilar una aplicación para iOS 7, ya que nada del anterior funciona hasta ahora. Uno de los muchos problemas es que estoy usando algunas entradas dentro de UIWebViews. Entradas de texto, selectores, etc.

Ahora, cuando aparece el teclado blanco brillante iOS 7, todos los elementos fijos inferiores de la página web (como los botones de confirmación) se desplazan hacia arriba, como si la parte superior del teclado virtual fuera la parte inferior de mi UIWebView. Este es un comportamiento sustancialmente diferente de iOS6.x

¿Hay algún truco de magia para que el funcionamiento del teclado virtual funcione como solía hacerlo, sin inyectar JS / CSS a la webView?


En nuestro caso, esto se solucionaría tan pronto como el usuario se desplace. Esta es la solución que hemos estado utilizando para simular un desplazamiento en blur en cualquier input o área de textarea :

$(document).on(''blur'', ''input, textarea'', function () { setTimeout(function () { window.scrollTo(document.body.scrollLeft, document.body.scrollTop); }, 0); });


Esto solucionó el problema de mi aplicación Cordova. No estoy seguro de si se aplica a usted, pero por las dudas.

Comprueba tus metaetiquetas html por algo como esto:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">

Reemplázalo con esto:

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, target-densityDpi=device-dpi" />


Me encontré con exactamente el mismo problema y desistí después de dos días de experimentar. Parece que: a) todos los elementos fijados al fondo van hacia arriba, de modo que su desplazamiento inferior es relativo al borde superior del teclado c) todos los elementos fijos superiores permanecen en su posición original (no se muevan hacia arriba como solían hacerlo) - tenga en cuenta que los elementos absolutos superiores funcionan bien.

La única solución que encontré fue tener una hoja de estilo de iPad personalizada que reemplaza todos los elementos fijos con elementos absolutos, establece la propiedad bottom de css en automático y usa top en su lugar


Opposum, tu solución funcionó para mí, pero solo cuando la escala se estableció en 1.0. Si lo configuro en 0.9, sería como antes de la solución sugerida. Establecí la escala inicial, la escala máxima y la escala mínima en 0.9 y el efecto de rebote de los objetos fijos cuando aparecía el teclado todavía estaba sucediendo.