Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 具有动态内容的UICollectionView(每个单元格的视图数量可变)_Ios_Swift_Iphone_Xcode_Uicollectionview - Fatal编程技术网

Ios 具有动态内容的UICollectionView(每个单元格的视图数量可变)

Ios 具有动态内容的UICollectionView(每个单元格的视图数量可变),ios,swift,iphone,xcode,uicollectionview,Ios,Swift,Iphone,Xcode,Uicollectionview,我想创建一个集合视图,每个单元格如下图所示: 问题是,每个单元都将有数量可变的“事件”。一个可以只有2个,另一个可以有10个左右 我找不到实现这一点的方法,主要是因为我认为我必须创建一个UITableView,每个单元格都是UICollectionView。但是我如何为每个单元格设置不同的高度呢。我认为这也太过分了 这条路怎么走?谢谢 基本上,您没有什么选择: 创建完全自定义的布局类-的子级 UICollectionViewLayout(UICollectionViewFlowLayout)

我想创建一个集合视图,每个单元格如下图所示:

问题是,每个单元都将有数量可变的“事件”。一个可以只有2个,另一个可以有10个左右

我找不到实现这一点的方法,主要是因为我认为我必须创建一个UITableView,每个单元格都是UICollectionView。但是我如何为每个单元格设置不同的高度呢。我认为这也太过分了


这条路怎么走?谢谢

基本上,您没有什么选择:

  • 创建完全自定义的布局类-的子级 UICollectionViewLayout(UICollectionViewFlowLayout)(很可能您不会这样做)
  • 如果使用UICollectionViewFlowLayout,请实现包含调整单元格大小方法的UICollectionViewDelegateFlowLayout协议:
并根据日期事件的数量计算单元格的高度

  • 创建两种单元格-一个用于带有日期的单元格,一个用于事件(一天中最高),另一个用于事件(可能是其他一些,如分隔符或其他,取决于UI)。这两个单元格都有固定的高度,所以使用UICollectionViewDelegateFlowLayout中的方法可以为单元格提供正确的大小

p.s在所有情况下,首先您需要考虑的是-您的模型是什么,下一步是什么(例如,是否会有开放式活动动画,您是否可以滑动以删除活动,您是否可以与每个活动交互等)-这取决于您必须在第二个和第三个选项之间进行选择

谢谢!我用了你的第三种方法。我创建了一个UICollectionView和两种类型的视图。第一个带日期,另一个带事件。并根据需要添加事件或标题。当然,我的模型中的数据需要排序。
func collectionView(_ collectionView: UICollectionView,
                    layout collectionViewLayout: UICollectionViewLayout,
                    sizeForItemAt indexPath: IndexPath) -> CGSize