我想在 UICollectionView 中最顶部和最底部的单元格进入和离开屏幕时为其设置动画。我不只是想使用滚动视图代表和一次性动画制作动画。我希望动画是进度驱动的。
示例:随着单元格滚动到屏幕外,最顶部的单元格逐渐消失。
我已经在互联网上搜索了一种方法来做到这一点,但解决方案要么已经过时,要么没有达到这种效果。提前致谢。
我想在 UICollectionView 中最顶部和最底部的单元格进入和离开屏幕时为其设置动画。我不只是想使用滚动视图代表和一次性动画制作动画。我希望动画是进度驱动的。
示例:随着单元格滚动到屏幕外,最顶部的单元格逐渐消失。
我已经在互联网上搜索了一种方法来做到这一点,但解决方案要么已经过时,要么没有达到这种效果。提前致谢。
您可以尝试使用NSCollectionLayoutSectionVisibleItemsInvalidationHandler
let section = NSCollectionLayoutSection(group: group)
section.visibleItemsInvalidationHandler = { visibleItems, scrollOffset, layoutEnvironment in
// perform animations on the visible items
}
如果您知道单元格的高度,则可以使用scrollOffset跟踪顶部单元格何时滚动并添加动画。
将新项目添加到visibleItems时,您也可以对其应用动画。此外,如果添加了新项目,则会替换顶部的项目,因此您可以在两种情况下都使用visibleItems。