我正在使用自定义布局实现CollectionView。它有垂直滚动。 我想让一些单元格粘在顶部,同时像tableView中的节头一样滚动。
我们的想法是随着时间创建day collectionView。并且当用户将滚动思考时间时,当前小时将粘贴到顶部(如果它将不可见并且被顶部隐藏)。只有当前小时隐藏在顶部,而不是底部。其他项目应该像往常一样滚动。 我认为我不应该在这里使用supplementViews
是否有可能,我该怎么做?
答案 0 :(得分:1)
您需要覆盖shouldInvalidateLayoutForBoundsChange
,以便返回YES
。这意味着在layoutAttributesForSupplementaryViewOfKind
滚动时会调用layoutAttributesForElementsInRect
和UICollectionView
,然后您可以在那里为视图计算正确的帧,包括粘滞视图。如果你有一个复杂的UICollectionView
,这可能会导致糟糕的表现,但据我所知,这是目前最简单的方法。你的另一个赌注是看失效情境,但他们的记录非常糟糕。如果您仍想尝试这些,可以查看Using Invalidation Contexts for UICollectionViewLayout
答案 1 :(得分:0)
查看UICollectionView
' supplementaryView
。