我正在尝试从服务器中提取未知数量的列表,并且我有一个 Collection View ,其中每个列表都有一个单元格/项目。每个单元格都有一个标签,其中包含列表的名称。因为我不知道标签会有多长,所以我将单元格设置为动态大小并在我的 UICollectionViewFlowLayout 上设置以下属性:
flowLayout.estimatedItemSize = CGSize(width: 100, height: 100)
flowLayout.minimumInteritemSpacing = 11
flowLayout.minimumLineSpacing = 12
单元格本身的大小很好,我在标签上使用了自动布局,因此单元格基于固有大小。但我的问题是,我要么得到不止一行的项目,要么我得到的一行滚动到远远超出我的项目,直到右侧有空白空间。当我更改 minimumInteritemSpacing
的值时,我得到了这两个结果。有没有更好的方法?
我想要做的就是拥有动态数量的“按钮”或单元格(基于拉出的列表数量)和动态宽度(基于列表名称)并在一行中水平滚动。 每个带有列表名称的单元格都将像一个按钮一样,在被选中时使用列表的属性更新多个字段。
最佳答案
可以使用- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
方法来实现每个单元格的大小。
关于ios - 当项目具有动态大小时,如何在 Collection View 中有单个水平行的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42869093/