gpt4 book ai didi

swift - UICollectionViewCompositionalLayout 中的动态项目计数可能吗?

转载 作者:行者123 更新时间:2023-12-04 10:23:10 30 4
gpt4 key购买 nike

我想在我的 UICollectionView 中有几个部分。其中一个应该有包含文本的项目。使用“经典” collectionView 方法显示在同一行中的项目数取决于项目宽度。如果项目不适契约(Contract)一行,则 collectionView 仅添加一个新行。所以有些行可能有 5 个项目,有些有 3 个。像这样:

This is what I want

当我使用组合布局时,我需要指定项目数。实际上,我希望集合 View 能够处理多个部分的计数。

UICollectionViewCompositionalLayout 甚至有可能吗?

最佳答案

TLDR

如果您在组合布局中只使用一个 NSCollectionLayoutItem 对象(看起来像您),则使用以下方法之一创建您的布局组(取决于您希望布局流动的方向:

NSCollectionLayoutGroup.horizontal(layoutSize:subitems:)
NSCollectionLayoutGroup.vertical(layoutSize:subitems:)

将您的 NSCollectionLayoutItem 对象作为 subItems 中的唯一项目大批。

布局集合 View 时,您在 UICollectionViewDataSource 的 (_:numberOfItemsInSection:) 中指定的项目数将用于布置您的项目。

稍长

我假设您指的是像 NSCollectionLayoutGroup.horizontal(layoutSize:subitem:count:) 这样的方法.如果是这样,那么您可能会误解 count参数在这里的意思。

在您使用不同 NSCollectionLayoutItem 对象(具有不同大小/布局)的组合的情况下, count此处的参数表示您希望该组中有多少该项目用于布局。

当加载/重新加载集合 View 时,您为 UICollectionViewDataSource 的 (_:numberOfItemsInSection:) 提供的任何计数仍将被渲染——如果该计数高于您在组合布局中指定的计数,则将创建新组(遵循您的布局)以容纳额外的项目。

关于swift - UICollectionViewCompositionalLayout 中的动态项目计数可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60743743/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com