我创建了一个基于特定触发器滑动其项目的UICollectionView
。
我试图通过以下方式为细胞过渡设置动画:
UIView.animate(withDuration: 0.4,
delay: 0.5, animations: {
self.headingsCollectionView.contentOffset = CGPoint(x: x, y: 0)
self.headingsCollectionView.reloadItems(at: [indexPath])
})
动画成功,问题是当我更改CollectionView contentOffset时,当前项目消失而不是滚动。
scrollToItemAtIndexPath:atScrollPosition:animated
但是
它没有动画项目过渡。答案 0 :(得分:0)
因为您使用的是UIView.animate方法,所以必须在以编程方式设置contentOffset后放置self.view.layoutIfNeeded()
UIView.animate(withDuration: 0.4,
delay: 0.5, animations: {
self.headingsCollectionView.contentOffset = CGPoint(x: x, y: 0)
self.headingsCollectionView.reloadItems(at: [indexPath])
self.view.layoutIfNeeded()
})