Ios 具有动态内容的UICollectionView(每个单元格的视图数量可变)
我想创建一个集合视图,每个单元格如下图所示: 问题是,每个单元都将有数量可变的“事件”。一个可以只有2个,另一个可以有10个左右 我找不到实现这一点的方法,主要是因为我认为我必须创建一个UITableView,每个单元格都是UICollectionView。但是我如何为每个单元格设置不同的高度呢。我认为这也太过分了Ios 具有动态内容的UICollectionView(每个单元格的视图数量可变),ios,swift,iphone,xcode,uicollectionview,Ios,Swift,Iphone,Xcode,Uicollectionview,我想创建一个集合视图,每个单元格如下图所示: 问题是,每个单元都将有数量可变的“事件”。一个可以只有2个,另一个可以有10个左右 我找不到实现这一点的方法,主要是因为我认为我必须创建一个UITableView,每个单元格都是UICollectionView。但是我如何为每个单元格设置不同的高度呢。我认为这也太过分了 这条路怎么走?谢谢 基本上,您没有什么选择: 创建完全自定义的布局类-的子级 UICollectionViewLayout(UICollectionViewFlowLayout)
这条路怎么走?谢谢 基本上,您没有什么选择:
- 创建完全自定义的布局类-的子级 UICollectionViewLayout(UICollectionViewFlowLayout)(很可能您不会这样做)
- 如果使用UICollectionViewFlowLayout,请实现包含调整单元格大小方法的UICollectionViewDelegateFlowLayout协议:
- 创建两种单元格-一个用于带有日期的单元格,一个用于事件(一天中最高),另一个用于事件(可能是其他一些,如分隔符或其他,取决于UI)。这两个单元格都有固定的高度,所以使用UICollectionViewDelegateFlowLayout中的方法可以为单元格提供正确的大小
p.s在所有情况下,首先您需要考虑的是-您的模型是什么,下一步是什么(例如,是否会有开放式活动动画,您是否可以滑动以删除活动,您是否可以与每个活动交互等)-这取决于您必须在第二个和第三个选项之间进行选择谢谢!我用了你的第三种方法。我创建了一个UICollectionView和两种类型的视图。第一个带日期,另一个带事件。并根据需要添加事件或标题。当然,我的模型中的数据需要排序。
func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout,
sizeForItemAt indexPath: IndexPath) -> CGSize