Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.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
Swift 获取所有collectionViewCells的总和';CollectionView中的高度_Swift_Uicollectionview_Size_Height_Uicollectionviewcell - Fatal编程技术网

Swift 获取所有collectionViewCells的总和';CollectionView中的高度

Swift 获取所有collectionViewCells的总和';CollectionView中的高度,swift,uicollectionview,size,height,uicollectionviewcell,Swift,Uicollectionview,Size,Height,Uicollectionviewcell,我在CollectionView单元类中创建了CollectionView 问题是,我无法获得第一个CollectionView中的CollectionView。如果有的话,我无法获得适合所有单元格大小的完美大小 第一级注释行是第一个CollectionView单元格,包含第二级注释(contentView为蓝色,保存单元格的CollectionView为红色) 我正在使用约束设置第二个collectionView高度。现在基本上已经修好了 我知道如何使注释单元格具有动态高度,但如何使第二个c

我在CollectionView单元类中创建了CollectionView

问题是,我无法获得第一个CollectionView中的CollectionView。如果有的话,我无法获得适合所有单元格大小的完美大小

第一级注释行是第一个CollectionView单元格,包含第二级注释(contentView为蓝色,保存单元格的CollectionView为红色)

我正在使用约束设置第二个collectionView高度。现在基本上已经修好了

我知道如何使注释单元格具有动态高度,但如何使第二个collectionView具有动态高度以适合所有单元格(如果有)

可能的解决方案,通过以下方式进行操作:

for cell in collectionView.visibleCells as! [MyCellClass] {
   let sumOfAllCells += cell.frame.height 

}

您的代码运行良好,但无论出于何种原因,它都无法运行。我正在使用约束设置collectionView的高度,因此我将其设置为您的高度变量。我想我必须在设置约束之前调用您的代码,并在使用cells@ISS你什么时候叫它,什么东西不起作用?@Iss你应该叫它,当细胞被激活时visible@ISS viewDidAppear@ISS在本例中,在viewdidlayoutsubviewsWhy嵌套两个集合视图?看起来是最快的实现方法。有更好的建议吗?最简单的,我认为更好的解决方案是只使用一个集合视图和两种单元格,然后将数据源安排为包含第一级和第二级注释,调整集合视图的大小以显示所有单元格使得集合视图的使用毫无意义,因为它不会回收任何单元格。我不知道如何将两个不同的单元格出列。你能提供一个例子、一篇文章或一篇帖子吗?
var height: CGFloat = 0
collectionView.visibleCells.forEach({ height += $0.bounds.height })