UICollectionViewController项插入动画Swift
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UICollectionViewController项插入动画Swift相关的知识,希望对你有一定的参考价值。
一直试图在集合视图上设置项目插入动画,动画是从左到右或从右到左从屏幕外部滑入,因为我正在更改项目的框架原点x值。
我的问题是当我调用UIView.animate时,即时调用完成回调而不显示动画,我试图在方法collectionView(_:cellForItemAt :)中添加项目类内的动画代码,甚至试图创建一个自定义viewflowlayout并覆盖layoutAttributesForItemAtIndexPath以添加转换,但没有任何工作,任何建议。
答案
这有效:
func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
UIView.animate(withDuration: 1, animations: {
var newFrame = cell.frame
cell.frame = CGRect(x: newFrame.origin.x + 50, y: newFrame.origin.y, width: newFrame.width, height: newFrame.height)
})
}
根据需要更换偏移量。
这也有效:
cell.frame.origin.x = cell.frame.origin.x + 50
在willDisplayCell里面
以上是关于UICollectionViewController项插入动画Swift的主要内容,如果未能解决你的问题,请参考以下文章