1

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

有时,集合下方的视图之一会放大,因此集合视图会变短。

这按我的预期工作,除了部分标题(补充视图)的位置随着视图缩小而向上移动相同的量,但数据单元格保持在同一个位置。所以现在标题与单元格重叠,并且它们曾经存在的间隙。

一旦它们被滚动出屏幕或设备被旋转,这就是固定的,但我无法弄清楚如何阻止它发生

编辑:

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

似乎单元格相对于视图的顶部定位,而标题相对于视图可见部分的底部定位,这有点奇怪。

4

1 回答 1

0

我想出的答案是:

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

或者

创建一个 collectionViewFlowLayout 的子类(这是我使用的布局类型)

- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds
{
  return YES;
}

但这最终被包含在调整大小动画中,并且从情节提要中复制所有单元格和标题大小等似乎需要做更多的工作。

于 2013-04-03T12:58:51.357 回答