De forma predeterminada, si un campo de texto es hijo de una vista de desplazamiento y se toca cuando está parcialmente fuera del marco de la vista de desplazamiento principal, la vista de desplazamiento se desplaza un poco hacia arriba. Por ejemplo, digamos que tenemos una vista de desplazamiento con una altura de cuadro de 200, pero una altura de tamaño de contenido de 260 y colocamos un campo de texto en la posición 220. Ahora me desplazo hacia arriba y coloco el campo de texto a la mitad dentro del marco de desplazamiento y dejo la otra mitad se cortó. Si toco este campo de texto, noto que la vista de desplazamiento se desplaza automáticamente unos pocos píxeles antes de que aparezca el teclado. Esto es problemático porque ya tengo mi propio código de desplazamiento, así que cuando esto sucede, termina desplazándose dos veces tanto como yo quiero. ¿Hay alguna forma de eliminar este comportamiento predeterminado?¿Cómo impido que UIScrollView se desplace automáticamente cuando se desplaza un UITextField fuera del marco de la vista de desplazamiento?
5
A
Respuesta
1
Parece que su vista de desplazamiento se está moviendo en respuesta al teclado que se muestra en lugar de al campo de texto que se está tocando. Eche un vistazo a Apple's Managing the Keyboard documentation; tiene una sección útil sobre scrollviews.
0
Una pregunta similar ya ha sido contestada aquí: https://stackoverflow.com/a/5673026/550177
También puede tratar de restablecer contentOffset del ScrollView cuando el campo de texto se convierte primero en responder. Implementar el campo de texto delegado de esta manera:
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
[self.scrollView setContentOffset:_scrollView.contentOffset animated:NO];
}
Este código elimina esa animación automática cuando se selecciona el campo de texto. He probado con iOS 6.1 en el simulador.
Cuestiones relacionadas
- 1. iphone - previene que uiscrollview se desplace por el tacto
- 2. UIScrollView pausa NSTimer mientras se desplaza
- 3. UIScrollView se desplaza demasiado después del zoom inicial
- 4. No se puede tocar UITextField en UIScrollView
- 5. Oculte automáticamente las barras de desplazamiento cuando no se desplaza en un ListView
- 6. UITableView en UIScrollView: cómo hacer que la vista se desplace, pero no TableView en sí misma?
- 7. UIScrollView se desplaza aleatoriamente al agregar contenido
- 8. ¿Cómo evitar que el contenido de la página se desplace cuando aparece el desplazamiento?
- 9. CALayer pierde rasterización cuando se desplaza fuera de la pantalla en UIScrollView
- 10. Cómo puedo evitar que el editor de Visual Studio se desplace horizontalmente automáticamente cuando se golpea un punto de interrupción
- 11. iPhone SDK: UIScrollView no se desplaza
- 12. UIScrollView se desplaza automáticamente hacia arriba después de SetContentSize durante el cambio de orientación. ¿Cómo puedo evitarlo?
- 13. ¿Es posible hacer una barra de desplazamiento fuera del contenido que se desplaza?
- 14. ¿Cómo impido que un área de texto se desplace hacia la parte superior cada vez que cambio su valor?
- 15. Hacer que un JScrollPane se desplace automáticamente hasta el final
- 16. UIGestureRecognizer que bloquea la vista de tabla que se desplaza
- 17. Desplazamiento programático de UIScrollView
- 18. Sincronización de desplazamiento UIScrollView
- 19. Evitar que UIWebView se desplace cuando aparezca el teclado
- 20. UIKit: UIScrollView desplazándose automáticamente cuando un subvista aumenta su anchura más allá del borde de la pantalla
- 21. Cómo detectar cuando un UIScrollView ha terminado de desplazarse
- 22. ¿Cómo hacer que Rails represente una vista y se desplace automáticamente hacia abajo?
- 23. UITableView se desplaza automáticamente hacia abajo después de reloadData
- 24. UIscrollView DidScroll - solo cuando toca
- 25. Problema con uiscrollview setcontentoffset animado no se desplaza cuando está animado: sí está establecido
- 26. UIScrollView llama a layoutSubviews() cada vez que se desplaza
- 27. ¿Por qué mi UITableView no se desplaza a menos que le digo que anime el desplazamiento?
- 28. La animación en la vista de OpenGL ES se congela cuando se arrastra UIScrollView en el iPhone
- 29. Desplazamiento horizontal infinito UIScrollView
- 30. Cómo evitar que fb.ui() se desplace por el navegador