objective c - custom - ¿Cómo cargar todas las celdas de UICollectionView a la vez?
uicollectionview swift 4 (2)
Crea las celdas en viewDidLoad
y viewDidLoad
en una matriz o diccionario. Luego, devuelve el correcto en cellForItemAtIndexPath:
Este enfoque NO aprovechará la reutilización de células y puede usar una gran cantidad de memoria. Sin embargo, puede desplazarse ligeramente más suave porque las celdas no necesitan configurarse en desplazamiento.
Tengo un UICollectionView
con muchas celdas. Quiero cargar todas las celdas en viewDidLoad
, pero UICollectionView
carga sus celdas solo cuando están visibles.
¿Alguna sugerencia?
Para volver a plantear el problema, las celdas de la vista de colección contienen imágenes que se cargan de forma diferida, pero es necesario que aparezcan de inmediato. La idea detrás de su pregunta es obligar a la vista de colección a precargar todas sus celdas. Pero realmente no quieres las celdas, quieres las imágenes, así que vamos a obtener las imágenes.
La pregunta no contiene muchos detalles sobre dónde están las imágenes, o el modelo, o su método para cargarlas en el método de origen de datos, así que aquí hay un resumen del consejo (que puedo editar para ser más específico si publica más detalles) )
Para imágenes locales, creadas a través de imageNamed:
cree un diccionario cuyas claves sean los nombres de las imágenes y cuyos valores sean las imágenes instanciadas, cree este diccionario antes de que se muestre la vista de colección, y luego use el diccionario en el método del origen de datos.
Para imágenes remotas, el origen de datos de vista de colección debe obtener estos de forma asincrónica. Di una respuesta aquí que cubre esto en detalle .
En cualquier caso, @CrimsonChris tenía razón al ser escéptico sobre la precarga de las celdas. Su respuesta, en mi opinión, es desacertada. (Creo que él también piensa así, pero estaba tratando de ofrecer una respuesta a la pregunta tal como está escrita).