我目前正在开发一种功能,可以在 UICollectionView
的 2 个不同 CollectionViewLayouts
之间进行切换。切换工作得很好,布局使用相同的单元类别和不同的 Nib 。我希望它们通过动画从一种移动到另一种(网格样式到列表样式然后返回)。目前我已经使用 Hero 过渡框架集成了一些动画。
我想要实现的是列表和网格布局中存在的图像以动画方式呈现到新的原点,以便事务看起来顺利。
是否可以通过 Hero 实现我想要的行为?当选择哪个效果很好时,我已向单元格添加了动画。
这是我用来在两种布局之间切换的代码
isListView = !isListView
setupCollectionViewCellNib(nibName: collectionItem)
collectionView.collectionViewLayout = isListView ? ListLayout(view: view) : GridLayout(view: view)
collectionView.reloadData()
我希望有人能够为我指明正确的方向,即使使用 Hero 无法实现这一点。
最佳答案
UICollectionView
有一个setCollectionViewLayout(_layout: UICollectionViewLayout,animated:Bool)
函数
let layout = isListView ? ListLayout(view: view) : GridLayout(view: view)
collectionView.setCollectionViewLayout(layout, animated: true)
关于ios - 动画切换 CollectionViewLayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55138925/