使用布局约束调整UICollectionView的大小。节标题移动

时间:2013-03-11 14:14:15

标签: ios ipad cocoa-touch uicollectionview

我在许多其他视图之间有一个UICollectionView,它们都是使用约束布局的,其中集合视图的高度是其他视图的所有高度之后的剩余空间以及它们之间的间隙。

有时,集合下面的一个视图会被放大,因此集合视图会缩短。

这正如我预期的那样工作,除了截面标题(suplementary views)的位置向上移动与视图缩小的数量相同但数据单元格保持在同一位置。所以现在标题与细胞重叠,并且它们曾经存在间隙。

一旦它们被滚动离开屏幕或设备被旋转但是我无法解决如何阻止它发生的问题,这是固定的

编辑:

我只是尝试反过来并增加了集合视图上方视图的大小,现在当单元格缩小并且标题保持固定时单元格向下移动。

看起来单元格相对于视图顶部和标题相对于视图可见部分底部的位置有点奇怪。

1 个答案:

答案 0 :(得分:0)

我想出的答案是:

找到一些方法将invalidateLayout发送到collectionViewLayout

使用

创建collectionViewFlowLayout的子类(这是我正在使用的布局类型)
- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds
{
  return YES;
}

但这最终会被包含在调整大小动画中,并且从故事板中复制所有单元格和标题大小等似乎还有很多工作。