[英]Resizing a UICollectionView with layout constraints. Section headers move
我在多个其他视图之间有一个UICollectionView,所有这些视图均使用约束进行布局,其中集合视图的高度是其他视图的所有高度及其之间的间隔之后的剩余空间。
有时,集合下方的视图之一会放大,因此集合视图会变短。
这与我预期的一样,但节标题(辅助视图)的位置会随着视图的缩小而向上移动相同的量,但数据单元仍保留在同一位置。 因此,现在标题与单元格重叠,并且它们曾经所在的位置存在间隙。
一旦将它们移出屏幕或旋转设备,此问题将得到解决,但我无法解决如何阻止它发生的问题
编辑:
我只是尝试了另一种方法,并且在集合视图上方增加了视图的大小,现在,当单元缩小时,单元向下移动,并且标题保持固定。
看起来单元格是相对于视图的顶部定位的,标题是相对于视图的可见部分的底部定位的,这有点奇怪。
我想到的答案是:
找到一些将invalidateLayout
发送到collectionViewLayout的方法
要么
使用以下方法创建collectionViewFlowLayout的子类(这是我使用的布局类型)
- (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds
{
return YES;
}
但这最终被包含在调整大小的动画中,并且似乎需要更多工作来从情节提要中复制所有单元格和标题大小等。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.