集合视图动画:展开集合视图和单元格

Collection View animation :Expand Colllection View and Cells

在呈现 Collection View 时,Collection View 的框架应该从零扩展到全屏尺寸。除此之外,集合视图中的单元格还应该从零大小到某个特定大小进行动画处理。有人可以建议我该怎么做吗?

您可以使用集合视图的委托 UICollectionViewFlowLayout 并实现 collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath)

到 return 与整个集合视图的大小成比例的大小,但不会调整单元格的 contents 大小。您最好执行以下操作:

  1. Take a snapshot of the full-size collection view.
  2. 将快照添加到包含集合视图的视图。
  3. 删除集合视图,必要时在某处保留其对其父项的约束。
  4. 将快照的大小设置为 (0,0)
  5. 将其设置为完整大小。
  6. 在动画的 completionHandler 中,删除 快照视图并重新添加集合视图,重新添加集合视图的约束。