动画后 UICollectionViewCell 位置错误

UICollectionViewCell position wrong after animating

所以我正在尝试基于 UICollectionView 和自定义 UICollectionViewFlowLayout 在 Shazam Discover 和 Tinder 之间构建一个开源库组合。

我遇到一个问题,在对侧面的单元格进行动画处理后(例如,将其滑动到侧面),单元格在被 UICollectionView。 (我猜单元格重用是这里的问题,因为它似乎只在滚动几个单元格后才会发生)

有什么简单的方法可以解决这个问题吗?或者我在这里做错了什么?已经看了几天了,但我自己似乎找不到解决办法。

你可以try/check在Github

上输出代码

我尝试 post 一些代码片段,但我不确定我应该 post 此处的哪些代码片段,因为它有很多代码。如果我应该 post 在这里编写代码,请告诉我。

非常感谢任何帮助。祝你有美好的一天:)

这是一个演示:

在单元格 class 之外,在 HomeVC 中,您可以在其中处理平移以将卡片滑开,您还可以操作图层的 anchorPoint - 您需要重置它才能进行绘图像以前一样工作:

override func prepareForReuse() {
    super.prepareForReuse()

    // reset to default value (https://developer.apple.com/documentation/quartzcore/calayer/1410817-anchorpoint)
    self.layer.anchorPoint = CGPoint(x: 0.5, y: 0.5)
}