Pregunta Cuándo usar UICollectionView en lugar de UITableView?


encontre eso UICollectionView es como una versión mejorada de UITableView introducido en iOS6, pero ¿cuándo debería elegir UICollectionView en lugar de UITableView?

Todavía hay aplicaciones usando UITableView, Si UICollectionView poder hacer cualquier cosa UITableView puede hacer, por qué la gente todavía usa UITableView? ¿Hay alguna diferencia en lo que respecta al rendimiento?

¡Gracias!


76
2018-04-15 08:52


origen


Respuestas:


Eso depende de los requisitos. Cómo fluye la aplicación determina qué tipo de interfaz de usuario se integrará en la aplicación.

La gente usa principalmente el UICollectionview para crear tipos de UI con múltiples imágenes que se muestran en una grilla. Esto tendría una lógica compleja usando UITableView, pero con UICollectionview, sería fácil.

Cuando usas UICollectionview, no necesita configurar botones con etiquetas u otras cosas obteniendo los valores de elementos seleccionados. Simplemente puede obtener -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath y en UITableViewDelegate:

`-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath`

Obtienes la fila seleccionada en lugar del artículo, por lo que para crear una cuadrícula o elementos modificados, UICollectionview es mejor.

Para los detalles de la lista de cada artículo, las personas usan UITableView porque muestra más información sobre cada artículo.

Documentos de Apple:

Referencia de la clase UICollectionView

La clase UICollectionView administra una colección ordenada de elementos de datos y los presenta con diseños personalizables. Las vistas de colección proporcionan la misma función general que las vistas de tabla, excepto que una vista de colección puede admitir más que diseños de una sola columna. Las vistas de colección admiten diseños personalizables que se pueden usar para implementar cuadrículas de múltiples columnas, diseños en mosaico, diseños circulares y muchos más. Incluso puede cambiar dinámicamente el diseño de una vista de colección si lo desea.

Referencia de clase UITableView

Una vista de tabla muestra una lista de elementos en una sola columna. UITableView es una subclase de UIScrollView, que permite a los usuarios desplazarse por la tabla, aunque UITableView solo permite el desplazamiento vertical. Las celdas que comprenden los elementos individuales de la tabla son objetos UITableViewCell; UITableView utiliza estos objetos para dibujar las filas visibles de la tabla. Las celdas tienen títulos de contenido e imágenes, y pueden tener, cerca del borde derecho, vistas accesorias. Las vistas de accesorios estándar son indicadores de divulgación o botones de divulgación de detalles; el primero lleva al siguiente nivel en una jerarquía de datos y el segundo conduce a una vista detallada de un elemento seleccionado. Las vistas accesorias también pueden ser controles de marco, como interruptores y controles deslizantes, o pueden ser vistas personalizadas. Las vistas de tabla pueden ingresar a un modo de edición en el que los usuarios pueden insertar, eliminar y reordenar las filas de la tabla.


62
2018-04-15 09:02



Para listas simples y navegación hacia adelante / atrás, use UITableView.

Si necesita un alto grado de personalización, use UICollectionView.

En términos generales, en el desarrollo de software, es mejor elegir el enfoque que represente "lo más simple posible".


26
2018-04-15 09:00



Aquí está mi criterio:

  • Si un UITableView puede hacerlo, úselo

  • Si un UITableView necesita mucho código para hacerlo o no puede hacerlo en absoluto, use UICollectionView.

Debe tener en cuenta las restricciones de UITableView antes de tomar una decisión: es una sola columna. Y solo puedes personalizar las celdas, pero no los fondos de sección y demás. Entonces, si tienes una lista de cosas sin adornos adicionales, que básicamente se parece a una vista estándar de pantano de iOS, entonces usa UITableview. Si tiene inserciones personalizadas o un borde alrededor de cada sección, use UICollectionView.

De hecho, estoy considerando UICollectionView para todas las cosas simplemente porque es muy caro cuando comienzas a desarrollar tu vista como una vista de tabla, y luego descubres que no puede hacer eso que necesitas hacer. Experiencia de primera mano;)

Edite después de aún más experiencia con los dos: Ignore ese último párrafo. UICollectionView requiere una gran cantidad de código repetitivo para que funcione como una UITableView. Use UICollectionView solo cuando realmente lo necesite. ;)


24
2017-08-22 11:51



De acuerdo con mi punto de vista, la diferencia principal entre collectionView y tableView es que

TABLEVIEW -> muestra una lista de artículos en una sola columna.

COLLECTION-VIEW -> muestra la lista de elementos en múltiples columnas.

Espero que te ayude.


10
2018-04-15 16:09



Si elige UITableView para iPhone, asegúrese de haber considerado primero su estrategia de iPad. Si desea un diseño específico para iPad, es posible que desee que el diseño de una sola columna se convierta en una cuadrícula.


10
2018-04-07 21:40



Aunque no es obligatorio, siempre utilizo una vista de colección. De esa manera puedo adaptar fácilmente cómo se presentan mis colecciones para diferentes resoluciones. Una ventaja es que está listo para agregar rápidamente nuevos tipos de celdas al refactorizar en el futuro.

No veo punto de vistas de tabla. Es muy simple usar una vista de colección para representar una tabla. IMO.


5
2017-12-13 22:17



Ambos dependen de los requisitos. Las Vistas de tabla también tienen soporte para una variedad de escenarios de edición. Este soporte no se ha implementado en las clases de Vista de colección. Si está convirtiendo desde una vista de tabla que depende de estos métodos, espere levantar un poco más en la vista de colección. Los encabezados de las secciones Vista de colecciones pueden colocarse en cualquier lugar dentro de la vista. y UITableView no necesita configurar botones con etiquetas u otras cosas obteniendo valores de elementos seleccionados.


2
2018-06-18 05:31



Es totalmente dependiente de cómo se muestran sus datos. Como se mencionó anteriormente, si necesita solo un conjunto único de datos y eso tampoco es complejo, vaya a UITableView otro uso UICollectionView.

UICollectionView es personalizable amigable.

Si se trata de alturas de celdas múltiples, más o menos, entonces vaya a UICollectionView.


1
2018-04-03 06:51



Desde mi experiencia personal, los dos elementos solo deben ser comparados sin rodeos.

TableView

Un TableView es un elemento de interfaz de usuario diseñado para mostrar datos en un formato de lista. Existe cierta funcionalidad que viene de serie con una UITableView, como por ejemplo:

  • Vista de accesorios
  • Estilo de selección de celda
  • Estilo de edición (Eliminar y editar botones).

Los elementos anteriores mejoran la usabilidad de los datos cuando se muestran e interactúan en un formato de lista. Como ver correos electrónicos.

CollectionView

Un CollectionView es un elemento de interfaz de usuario diseñado para mostrar contenido utilizando un diseño personalizado (generalmente cualquier cosa que no sea una lista). CollectionViews mejora la funcionalidad de visualización de datos en estilos de diseño completamente personalizados y también cambia dinámicamente los diseños sobre la marcha. Algunos ejemplos son:

  • Listas horizontales
  • Galerías de fotos
  • Vistas en miniatura
  • Carruseles
  • Diales
  • Colocación de elementos en un mapa
  • etc.

CollectionViews también permite selecciones múltiples.

Conclusión

Como se puede ver en lo anterior, ambos tienen casos de uso completamente diferentes y están diseñados para mejorar el desarrollo y la usabilidad de sus propios conjuntos de datos específicos.

Si está buscando mostrar algo en un estilo de lista con las siguientes interacciones: - Añadiendo - Eliminando - Reordenamiento Entonces, un UITableView simplificará este proceso al proporcionar el soporte directamente de la caja.

Cualquier otra cosa, debe aprovechar los beneficios de CollectionView ya que tiene más flexibilidad.


1
2018-01-07 20:08



Según nuestra necesidad, elegimos TableView o CollectionView.

Ejemplo:

Para contactos telefónicos, tableView es la mejor opción.

Para la galería de fotos, la vista de colección será la mejor opción.


0
2018-04-15 09:01



Tuve este problema en mi proyecto actual. Cuál usar En mi caso, fue simple en realidad. Necesitaba ambos. Necesitaba mi vista para parecerse a UITableView y también para cambiar su cambio / diseño. Por lo tanto, se utilizó UICollectionView. También uso UITableView en todas partes, no necesito ninguna personalización adicional. Dado que UiTableView viene con un diseño predeterminado que incluye imágenes y texto, lo uso por simplicidad.


0
2018-04-15 09:50