gpt4 book ai didi

swift - Collection View 插入项目奇怪的动画

转载 作者:搜寻专家 更新时间:2023-11-01 05:32:36 25 4
gpt4 key购买 nike

我有一个旋转 180 度的消息 Collection View (以便从底部附加单元格)。

collectionView?.transform = CGAffineTransform.init(rotationAngle: (-(CGFloat)(Double.pi)))

cell.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi))

我想在附加新单元格时使用 insertItem 选项,但它会导致单元格执行笨拙的动画,即屏幕上可见的单元格上下颠倒并翻转到另一侧。但是,当它们滚出 View 并返回 View 时,它们会重置到正确的位置。

这是错误的视频:https://www.youtube.com/watch?v=2X8FjOf5AqA

最佳答案

发生这种情况是因为当您添加新单元格时调用 performBatchUpdates 时,将重新渲染所有可见单元格并再次应用转换,,本质上是删除转换.

您只希望这种情况发生一次,因此细胞将保持其变换。为此,请确保单元格的转换与 collectionView 的转换相匹配,我们知道这不会更改(因为 Collection View 本身不会在 performBatchUpdates 上重新呈现).

此外,您不需要反转其中一个变换 - 旋转 -π 等于旋转 π。

collectionView?.transform = CGAffineTransform.init(rotationAngle: CGFloat(Double.pi))

cell.transform = collectionView!.transform

关于swift - Collection View 插入项目奇怪的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53171209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com