我希望用动画扩展我的collectionview中顶部单元格的高度。问题是当我检测到单元格上的点击时,我尝试设置高度动画并在委托中设置新高度: - collectionView:layout:sizeForItemAtIndexPath:indexPath。问题我看到在我的收集流布局失效后立即刷新,动画发生在后面。我想要的效果是顶部单元格将扩展设置为新高度的动画,并将动画下方的行与动画一起推动。
我只使用一个包含多行的部分。我应该尝试使用两个部分并将顶部单元格放在第一部分中,剩下的部分放在第二部分中吗?那么我可以将第二部分与第一部分的高度一起设置动画吗?
答案 0 :(得分:0)
您需要执行以下三个步骤:
1.使您的collectionViewLayout无效
self.collectionView.collectionViewLayout.invalidateLayout()
2.Reroad desired indexPath或performBatchUpdates块中的所有数据
collectionView.performBatchUpdates({
self.collectionView.reload(at: DESIRED_INDEXPATH)
}, completion: nil)
3.返回以sizeForItemAtIndexpath
委托方法