当项目具有动态大小时,如何在集合视图中具有单个水平项目行?



>我正在尝试从服务器中提取未知数量的列表,并且我有一个集合视图,每个列表都有一个单元格/项目。每个单元格都有一个标签,其中包含列表的名称。由于我不知道标签会有多长,我使单元格动态大小,并在 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方法来实现每个单元格的大小。

相关内容

  • 没有找到相关文章

最新更新