0

我想在 UICollectionView 中最顶部和最底部的单元格进入和离开屏幕时为其设置动画。我不只是想使用滚动视图代表和一次性动画制作动画。我希望动画是进度驱动的。

示例:随着单元格滚动到屏幕外,最顶部的单元格逐渐消失。

我已经在互联网上搜索了一种方法来做到这一点,但解决方案要么已经过时,要么没有达到这种效果。提前致谢。

4

1 回答 1

0

您可以尝试使用NSCollectionLayoutSectionVisibleItemsInvalidationHandler

let section = NSCollectionLayoutSection(group: group)

section.visibleItemsInvalidationHandler = { visibleItems, scrollOffset, layoutEnvironment in
     // perform animations on the visible items
}

如果您知道单元格的高度,则可以使用scrollOffset跟踪顶部单元格何时滚动并添加动画。

将新项目添加到visibleItems时,您也可以对其应用动画。此外,如果添加了新项目,则会替换顶部的项目,因此您可以在两种情况下都使用visibleItems

于 2021-08-05T20:32:13.620 回答