动态更新uicollectionview单元格高度

时间:2020-09-09 13:10:59

标签: ios objective-c swift uicollectionview

我正在处理一个非常复杂的案件

我有一个嵌套的UICollectionView 外部的UICollectionView A用于垂直滚动, 它是第一个单元格,即UICollectionView B,用于水平滚动。

它已完美实施,但现在又有一个要求 将第一个单元格滚动到第二页时,第一个单元格的底部会出现一个横幅。 因此,滚动时需要更新单元格的高度。

如果在滚动时尝试调用无效的布局,效率将会非常低。还有其他方法可以支持它吗?

The Black container is vertical collectionview. The red one the horizontal collectionview. When scroll to the second page. One extra banner needed to be animated to show smoothly

1 个答案:

答案 0 :(得分:0)

已解决。

首先,从服务器接收到数据后,将计算每个像元的高度并调用[collectionview reload]。

然后在布局collectionview之后,根据索引路径缓存每个单元格的大小。

要实现“实时”调整大小,手势将直接通过委托调用调整大小功能,并直接修改大小缓存并调用[collectionview.layout invalidlayout]。

看起来很光滑。