iOS:滚动

时间:2015-10-06 15:11:24

标签: ios uiviewcontroller uicollectionview uicollectionviewcell uicollectionviewlayout

我正在使用自定义布局实现CollectionView。它有垂直滚动。 我想让一些单元格粘在顶部,同时像tableView中的节头一样滚动。

我们的想法是随着时间创建day collectionView。并且当用户将滚动思考时间时,当前小时将粘贴到顶部(如果它将不可见并且被顶部隐藏)。只有当前小时隐藏在顶部,而不是底部。其他项目应该像往常一样滚动。 我认为我不应该在这里使用supplementViews

是否有可能,我该怎么做?

2 个答案:

答案 0 :(得分:1)

您需要覆盖shouldInvalidateLayoutForBoundsChange,以便返回YES。这意味着在layoutAttributesForSupplementaryViewOfKind滚动时会调用layoutAttributesForElementsInRectUICollectionView,然后您可以在那里为视图计算正确的帧,包括粘滞视图。如果你有一个复杂的UICollectionView,这可能会导致糟糕的表现,但据我所知,这是目前最简单的方法。你的另一个赌注是看失效情境,但他们的记录非常糟糕。如果您仍想尝试这些,可以查看Using Invalidation Contexts for UICollectionViewLayout

答案 1 :(得分:0)

查看UICollectionView' supplementaryView

  

Apple's Collection View Programming Guide