dynamic大小UICollectionView单元格

在这里输入图像说明

1)我怎样才能实现如图所示与UICollectionView

2)我试过-(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath方法&传递不同的大小,但它留下单元格之间的空间。 我可以清空这些空间吗? 我想为每个细胞不同的高度和宽度

电stream输出: 在这里输入图像说明

对不起,这是超晚…但也许这将帮助还没有find答案的人。 如果将图像放在一个数组中,则只需引用图像大小,然后从中调整单元大小即可:

 - (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); } 

希望这可以帮助..

也许这种布局将符合您的需求。 请看看这个项目: https : //github.com/betzerra/MosaicLayout

我不确定100%会完全满足您的要求,但在最糟糕的情况下,它可能会帮助您编写自定义UICollecionViewFlowLayout(这是实现您的目标的唯一方法)

你不能像标准的UICollectionViewFlowLayout那样在你的问题中得到一个结果,在它的基础实现(没有子类)中创build一个网格布局。

为了获得你想要的,你应该创build你自己的UICollectionViewLayout (或者可能是UICollectionViewFlowLayout )子类,在那里你执行所有的计算所需的每个项目在正确的框架。

看看这里的一个伟大的教程 ,这里的东西类似于你想要的东西 。

而不是在一行中创build图像的高度可变的修正图像的高度相同的大小,但可以在一行中有不同的宽度。创build这样的组合和显示,你可以重复使用不同高度的同一个单元格与行中不同宽度的一个或多个图像。 我做了同样的东西给你一样的感觉,你正在寻找像谷歌图片search