【问题标题】:Resizing a UICollectionView with layout constraints. Section headers move使用布局约束调整 UICollectionView 的大小。节标题移动
【发布时间】:2013-03-11 14:14:14
【问题描述】:

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

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

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

一旦它们被滚动出屏幕或设备被旋转,这个问题就会得到解决,但我不知道如何阻止它发生

编辑:

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

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

【问题讨论】:

    标签: ios ipad cocoa-touch uicollectionview


    【解决方案1】:

    我想出的答案是:

    想办法将invalidateLayout 发送到collectionViewLayout

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

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

    【讨论】:

      猜你喜欢
      • 2021-03-22
      • 2013-05-14
      • 2014-10-12
      • 1970-01-01
      • 2018-11-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      相关资源
      最近更新 更多