动画后UICollectionViewCell位置错误

时间:2018-01-23 11:22:53

标签: ios uicollectionview uikit uicollectionviewcell

所以我正在尝试使用自定义UICollectionView的{​​{1}}在Shazam Discover和Tinder之间构建一个开源库组合。

我遇到了一个问题,即在对一侧的单元格进行动画处理(例如将其向侧面滑动)后,单元格将被UICollectionViewFlowLayout重用时保持在该位置。 (我猜测细胞重用是这里的问题,因为它似乎只是在滚动几个细胞后发生)

有没有简单的方法可以解决此问题?或者我在这里做错了什么?一直在看它几天但似乎无法找到解决方法。

您可以尝试/查看Github

上的代码

我尝试发布一些代码片段,但我不确定我应该在哪里发帖,因为它是很多代码。如果我要在这里发布代码,请告诉我。

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

以下是正在发生的事情的演示:

demo of what' happening

1 个答案:

答案 0 :(得分:1)

在单元格类之外,在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)
}