2012-04-06 18 views
6

Todo el mundo quiere mover el UITableView cuando aparece el teclado, pero estoy buscando una manera de desactivar la animación automática del cursor cuando aparece el teclado. Estoy experimentando un extraño comportamiento de desplazamiento brusco/sacudida/errático cuando el teclado aparece y hace que UITableView se desplace hasta el cursor (para evitar bloquearlo).iOS: deshabilita la animación de UITableView cuando aparece el teclado

Cada una de mis celdas UITableView tiene una UITextView en ella. No confirmo ninguna otra animación cuando aparece el teclado.

En este punto, me gustaría deshabilitar la animación completamente y desplazarme manualmente al CGPoint deseado.

Gracias!

+0

Tengo un campo de texto de 3 líneas en una celda. Quiero poder agregar una celda a la tabla, reducir la altura de la tabla cuando debería ser presentada y luego hacer que la vista de tabla se desplace hasta abajo. Actualmente tengo una solución intermitente en la que recibo una notificación para keyboardWillShow y realizo una animación de .2 segundos que reduce la altura de la tabla y al finalizar hago una solicitud diferida de 0.05 segundos para que la vista de tabla se desplace hasta el final. Funciona en algunos casos dependiendo del recuento de células. Solo necesito que el primer respondedor no se desplace por la mesa. ¡AYUDA! – cruffenach

+0

¿Alguna vez encontró una solución a este problema? Estoy experimentando exactamente lo mismo donde mi tabla de vista cambia el tamaño correctamente, pero realiza este salto extraño al final. –

Respuesta

8

El código de desplazamiento automático reside en tableViewController, por lo que no se puede deshabilitar el desplazamiento automático. En lugar de crear subclases desde UITableViewController, puede crear una subclase desde UIViewController y usar tableView dentro de ella. Si está dispuesto a usar UITableViewController, puede anular viewWillAppear y no llamar a [super viewWillAppear].

+1

Eres un rockstar. ¡Gracias! – Jeremy

+0

Para cualquier otra persona que busque este problema y se encuentre con esta respuesta, tenga cuidado al hacer esto. Puede ser lo único que parece alcanzable y fácil, pero nunca es una buena idea no llamar súper dentro de un método de ciclo de vida de la vista, como 'viewWillAppear' – simonthumper

Cuestiones relacionadas