我试图从服务器中提取未知数量的列表,并且我有一个集合视图,每个列表都有一个单元格/项目。每个单元格都有一个标签,其中包含List的名称。由于我不知道标签的长度,我制作了单元格动态大小,并在我的UICollectionViewFlowLayout上设置了以下属性:
flowLayout.estimatedItemSize = CGSize(width: 100, height: 100)
flowLayout.minimumInteritemSpacing = 11
flowLayout.minimumLineSpacing = 12
细胞本身的大小很好,我在标签上使用了自动布局,因此细胞基于内在大小。但我的问题是,我要么获得多行项目,要么我会得到一个滚动远远超出我的项目的行,直到右侧有空白空间。当我更改minimumInteritemSpacing
的值时,我得到了这两个结果。有更好的方法吗?
我想做的就是拥有一个动态数量的"按钮"或单元格(基于拉出的列表数)和动态宽度(基于列表名称)并在单行中水平滚动。 具有列表名称的每个单元格将像一个按钮,在选择时会使用列表属性更新多个字段。
答案 0 :(得分:0)
您可以使用- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
方法来实现每个单元格的大小。