pods library best bar awesome iphone ios uitableview uiscrollview pinterest

iphone - library - Implementación de Gridview en Pinterest en iOS



menu ios library (3)

Solución 1 (no sé si esto funciona y no me gusta mucho)

¿Qué tal tener 3 vistas verticales de la tabla una al lado de la otra, pero reenviar los eventos táctiles desde cualquier vista de tabla a los demás. Entiendo que tuviste problemas de rendimiento al intentar sincronizar las vistas de tabla, pero que tal vez trabajar en un nivel de evento funcionaría mejor. Tal vez.

Solución 2

Use un UIScrollView (para propósitos de desplazamiento por supuesto). Por razones de rendimiento y memoria, también necesita implementar un mecanismo de carga bajo demanda para que no cargue todas sus imágenes a la vez.

Para hacer esto, crearía una clase, CustomImageStrip, que maneja una lista de imágenes verticales. Esta clase funciona junto con la vista de desplazamiento y usa contentOffset para decidir cuándo es el momento de cargar / descargar una imagen de la tira.

Al tener 3 clases de tira de imagen independientes, las imágenes pueden ser de cualquier tamaño y no necesitan alinearse. Pero, dado que todos pertenecen al mismo UIScrollView, el desplazamiento se realizará de forma simultánea.

Quiero implementar una vista de cuadrícula como la de Pinterest

Pensé en implementar como 3 vistas de tabla. Pero no pude desplazarlos bien juntos. Cuando implementé el scrollViewDidScroll y configuré el contentOffset para las vistas de tabla, otro scrollView, el desplazamiento se hizo lento e inutilizable.

Otra implementación que hice fue tener un conjunto de imágenes para cargar y llamar a la función scrollViewDidScroll en scrollViewDidScroll . La función ViewDraw simplemente dibuja las imágenes necesarias y elimina el resto de las imágenes de la memoria que ya fueron dibujadas pero que no serán visibles. esto también hace que el desplazamiento de ScrollView sea lento. Y otro problema es que hay parches blancos (color de fondo) antes de dibujar las imágenes.

¿Cuál debería ser la mejor manera de implementar esta vista de cuadrícula?


Verifique este proyecto de código abierto: TMQuiltView , parece que hace exactamente lo que quiere.


Si está utilizando iOS 6, puede usar mi diseño inspirado en Pinterest para UICollectionView. Ver el código en JSPintDemo .