tutorial source how data collection ios objective-c uicollectionview uicollectionviewcell uicollectionviewlayout

ios - source - Tamaño dinámico de la celda UICollectionView



uicollectionview header (4)

En lugar de crear alturas variables de imágenes en una fila, fije los mismos tamaños de alturas de imágenes, pero puede tener diferentes anchos en una fila. Cree tales combinaciones y visualice y puede reutilizar la misma celda para diferentes alturas con una o más imágenes de diferentes anchos en la fila . He hecho lo mismo, da la misma sensación que estás buscando, como la búsqueda de imágenes de Google.

1) ¿Cómo puedo lograr lo que se muestra en la imagen con UICollectionView ?

2) He probado -(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath método y pasó diferentes tamaños pero deja espacios entre las celdas. ¿Puedo vaciar esos espacios? Quiero diferente altura y ancho para cada celda

Salida de corriente: .


Lo siento, es muy tarde ... Pero quizás esto ayude a las personas que aún no han encontrado una respuesta. Si tiene sus imágenes en una matriz, puede simplemente hacer referencia al tamaño de la imagen y hacer los ajustes al tamaño de la celda desde allí:

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath { UIImage *image = [imageArray objectAtIndex:indexPath.row]; //You may want to create a divider to scale the size by the way.. return CGSizeMake(image.size.width, image.size.height); }

Espero que esto ayude..


No puede lograr un resultado como el de su pregunta con el estándar UICollectionViewFlowLayout , que en su implementación base (sin subclases) crea un diseño de cuadrícula.

Para obtener lo que desea, debe crear su propia UICollectionViewLayout (o tal vez UICollectionViewFlowLayout ), donde realiza todos los cálculos necesarios para colocar cada elemento en el marco derecho.

Echa un vistazo aquí para ver un excelente tutorial y aquí para ver algo similar a lo que quieres .


Tal vez este diseño se ajuste a sus necesidades. Por favor, eche un vistazo a este proyecto: https://github.com/betzerra/MosaicLayout

No estoy seguro de que el 100% satisfaga totalmente sus requisitos, pero en el peor de los casos puede ayudarlo a escribir su UICollecionViewFlowLayout personalizado (que es la única forma de lograr su objetivo)