Tengo una vista que se muestra debajo de un controlador de navegación. La vista contiene una subvista en la parte superior y una vista de tabla en la parte inferior. La tabla puede tener filas que se extienden más allá de la altura visible en función de los datos. Cuando tengo filas que están debajo de la última fila visible, si desplazo la vista hacia arriba, rebota, no permanece allí. ¿Hay alguna manera de hacer que se quede? Intenté hacer que el padre vea una vista de desplazamiento y eso no ayudó. Mi vista es de un XIB.El desplazamiento de la vista de tabla rebota y oculta las celdas inferiores
Respuesta
Parece que el tamaño de su UITableView es ligeramente mayor que el área disponible en la pantalla del iPhone. Esto podría deberse a que la vista no tuvo en cuenta el tamaño de la barra de navegación hte. Como prueba, vaya a Interface Builder y haga que la UITableView sea mucho más pequeña, digamos la mitad del tamaño, para que pueda ver claramente la parte superior e inferior. Vea si todavía tiene el mismo rebote.
Si los tamaños son correctos, UITableView no necesita un UIScrollView para funcionar como se espera. De hecho, habría pocas razones, en las que se me ocurra ahora (aparte de las de desplazamiento horizontal), que desearía una UITableView dentro de UIScrollView.
En su Controlador de vista de nivel superior, en la configuración "Métricas simuladas", configure la Barra superior y/o la Barra inferior (según lo que se muestra en su Controlador de vista) en "opaco". A continuación, cambie el tamaño de la vista de tabla para que se ajuste entre la barra de navegación y la barra de herramientas/barra de pestañas. Por último, añadir dos restricciones:
- Top espacio al inicio Guía de diseño
- espacio inferior a la Guía de diseño de fondo
funcionado muy bien para mí, independientemente de su orientación.
Si no está utilizando Storyboard, puede probar con el (rápida) siguiente código:
tableView.contentInset = UIEdgeInsetsMake((self.navigationController!.navigationBar.frame.origin.y + self.navigationController!.navigationBar.frame.size.height), 0, 0, 0)
self.view.addSubview(tableView)
Si usted tiene una barra de herramientas o (si está utilizando un tabBarController), que necesitará para ajustar el abajo también:
tableView.contentInset = UIEdgeInsetsMake((self.navigationController!.navigationBar.frame.origin.y + self.navigationController!.navigationBar.frame.size.height), 0, 0, 0)
self.view.addSubview(tableView)
Tenga en cuenta que este es un código simple y 'áspero'. Puede hacerlo más bonito si es necesario :)
- 1. Cambiar la altura de una tablaHeaderView oculta las celdas
- 2. Vista de desplazamiento y rendimiento de la vista de tabla al cargar imágenes desde el disco
- 3. Segmentos de celdas de vista de tabla no funcionan
- 4. ¿Alinear verticalmente las figuras en las celdas de la tabla?
- 5. UIScrollView rebota cuando el contenido es más pequeño que el tamaño de la vista
- 6. ¿Por qué el rendimiento del desplazamiento es deficiente para celdas de vista de tabla personalizadas que tienen objetos UISegmentedControl?
- 7. iTextSharp ¿Posibilidad de espaciar las celdas de la tabla?
- 8. Espacio entre las celdas de UITableView
- 9. Loop a través de la tabla DataTables para obtener el contenido de todas las celdas
- 10. Mostrar vista en una vista de desplazamiento en la pantalla
- 11. iPhone Tableview Usar celdas en desplazamiento horizontal no vertical
- 12. UITaView separador líneas desaparecen entre celdas en desplazamiento
- 13. iPhone - cambiando el color de fondo de UIWebView detrás de la vista (fondo que rebota)
- 14. ¿Cómo puedo iterar a través de las filas y celdas de la tabla en JavaScript?
- 15. El ancho de la columna HTML cambia cuando la fila de la tabla está oculta
- 16. Celdas de tabla de igual tamaño para llenar todo el ancho de la tabla de espera
- 17. ¿Oculta la barra de desplazamiento horizontal en un iframe?
- 18. Cuadrícula/Visor de desplazamiento- Congelar desplazamiento de la fila de encabezado de la tabla vertical, pero no desplazamiento horizontal
- 19. Celdas de tabla más grandes de lo que deberían ser
- 20. vista de desplazamiento bidireccional
- 21. Java FX 2 Edición y enfoque de celdas de tabla
- 22. UIScrollView no rebota
- 23. Eliminar el efecto de bola que rebota en slidetoggle
- 24. iOS: cuál es la diferencia entre la Vista de tabla y el Controlador de vista de tabla
- 25. iPhone/iPad SimpleTableViewCells: ¿Qué reemplaza el obsoleto setImage setText en las celdas de la tabla?
- 26. Agregar barra de desplazamiento a la tabla
- 27. Optimizaciones de vista de desplazamiento
- 28. jquery tablesorter clasificación de celdas de la tabla vacía última
- 29. Relleno de misterios en las celdas de la tabla con la imagen
- 30. LinearLayout no rellena la vista de desplazamiento
Gracias por su observación, eso solucionó el problema. – Umark
Genial. Veo en su historial que no está seleccionando ninguna de las respuestas aceptadas como las respuestas oficiales a sus preguntas. Tal vez no sabías esto, pero a la izquierda de las respuestas ves una marca de verificación. Si hace clic en eso, entonces está seleccionando la respuesta que fue la solución a su problema. Eso me da cierta reputación, y para las personas que tienen la misma pregunta, ven qué respuesta te ayudó. Cuando tenga oportunidad, haga clic en la marca de verificación. Gracias. – mahboudz
Impresionante, intenté un montón de cosas antes de que esto solucionara mi problema. –