2011-01-20 10 views
5

Duplicar posibles:
UITableView and keyboard scrolling issueiPhone: Bloques de teclado en pantalla

Tengo una pantalla que tiene varios campos de texto (UITextField) para recoger información del usuario que acaba de tomar la mayor parte de la pantalla. cuando el usuario selecciona un campo, aparece el teclado virtual (como se esperaba) pero cubre los campos que aparecen más abajo en la pantalla. Para llegar a esos campos, el usuario tiene que cerrar el teclado y seleccionarlos, y al hacerlo, el campo se cubre nuevamente y el usuario no puede ver lo que está escribiendo.

Intenté envolver los campos de texto en un UIScrollView, con la esperanza de que cuando el teclado ocupara espacio en la pantalla podría desplazar la parte uppper de la pantalla a los otros campos de texto, pero esto no funcionó.

Espero obtener este comportamiento de desplazamiento. Alguien sabe como hacerlo?

-tia

Respuesta

4

Hay una buena respuesta a una pregunta similar y un código de ejemplo here.

Básicamente, se registra para recibir UIKeyboardWillShowNotification y UIKeyboardWillHideNotification, luego desplaza manualmente la vista para compensar.

+0

Eso es un gran artículo, pero por desgracia, se centra en UITableView y eso no es lo que estoy usando aquí. No estoy seguro de cómo lo adaptaría a una vista normal. – mtmurdock

+0

He aceptado esta respuesta porque era la más detallada, pero fue realmente esta y la respuesta de Brian me ayudó a descubrir qué hacer. – mtmurdock

9

Debe ajustar el alto de la vista de desplazamiento cuando aparece el teclado para que no se superponga. Consulte Managing the Keyboard en la guía de programación.

+0

Consulte la sección "Mover el contenido que se encuentra debajo del teclado". También tiene código fuente con él – bryanmac

2

Este es un marco de arrastrar y soltar que uso en mis proyectos ya que me he encontrado con este problema mucho. Es una subclase UIScrollView y admite diferentes modos de autoenfoque y una variedad de otros bits y bobs.

https://github.com/mackross/GTKeyboardHelper

Cuestiones relacionadas