我目前正在开发一种功能,可以在CollectionViewLayouts
的2个不同的UICollectionView
之间切换。切换效果非常好,布局使用相同的单元格类别和不同的笔尖。我希望他们通过动画(网格样式到列表样式以及返回)从一个移动到另一个。目前,我已经使用Hero过渡框架集成了一些动画。
我想要实现的是在列表和网格布局中都存在的图像,以使其成为新的原点动画,从而使交易看起来很顺畅。
使用Hero是否可以实现我想要的行为?在选择效果最佳的单元格时,我已向其添加了动画。
这是我用来在两种布局之间切换的代码
isListView = !isListView
setupCollectionViewCellNib(nibName: collectionItem)
collectionView.collectionViewLayout = isListView ? ListLayout(view: view) : GridLayout(view: view)
collectionView.reloadData()
我希望即使使用Hero无法达到目标,也能将我指向正确的方向。
答案 0 :(得分:0)
UICollectionView
具有setCollectionViewLayout(_ layout: UICollectionViewLayout, animated: Bool)
功能
let layout = isListView ? ListLayout(view: view) : GridLayout(view: view)
collectionView.setCollectionViewLayout(layout, animated: true)