简单的collectionView动画

Posted

技术标签:

【中文标题】简单的collectionView动画【英文标题】:Simple collectionView animation 【发布时间】:2017-02-23 22:36:24 【问题描述】:

如何将单元格加载到集合视图中。

我一直在使用以下代码,但它只会在我滚动时为屏幕外的单元格设置动画。

如何为所有单元格设置动画而不是屏幕启动?

    let finalFrame: CGRect = cell.frame
        cell.frame = CGRect(x: finalFrame.origin.x - 1000, y: -500, width: 0, height: 0)

    UIView.animate(withDuration: 0.5, animations: 
        cell.frame = finalFrame
    )

【问题讨论】:

【参考方案1】:

使用performBatchUpdates(_:completion:)

performBatchUpdates 块内:

发给 items:

插入:insertItems(at:)

删除:deleteItems(at:)

移动/重新排序:moveItem(at:to:)

发给sections

插入:insertSections(_:)

删除:deleteSections(_:)

移动/重新排序:moveItem(at:to:)

如果您想进一步自定义动画:

1:Check this thread

2:YouTube tutorial

3:Github Project

4:Alternative UIStackView for Swift 3 Youtube Tutorial

【讨论】:

以上是关于简单的collectionView动画的主要内容,如果未能解决你的问题,请参考以下文章

触摸 CollectionView 时禁用动画?

CollectionView 在动画期间切断单元格

在 collectionView 中动画化数据的变化

为啥我的 collectionview 单元格没有动画?

尝试在collectionview中为不可见单元格设置动画时如何防止延迟

iOS:在 Swift3 中,在 UICollectionViewLayout 部分,我如何访问主要的 CollectionView 属性?