Swift3 CollectionViewController-Swift中的滚动问题

Swift3 CollectionViewController-Swift中的滚动问题,swift3,uicollectionviewcell,Swift3,Uicollectionviewcell,在collectionViewController中水平滚动时出现问题 在CellForItemA中,我有以下内容,可以在每个水平单元格上绘制一些线条: func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let origine = CGPoint(x: 50.0, y: CGFloat(c

在collectionViewController中水平滚动时出现问题

在CellForItemA中,我有以下内容,可以在每个水平单元格上绘制一些线条:

    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let origine = CGPoint(x: 50.0, y: CGFloat(cell.view.frame.height - 100))
    createTextLayer()
    showLoads(withOrigine: origine, cellForItemAt: indexPath, scale_H: scale_H, scale_V: scale_V, inView: cell.view)
    return cell
我可以在每个单元格中绘制我想要的内容,但问题是有时我绘制的内容例如在单元格1中,它在其他单元格中显示相同的内容。
当我快速移动单元格时,这个问题就会出现,因为在缓慢移动单元格时,我没有问题

我尝试使用prepareForReuse、willDisplay,但没有成功


有没有建议如何强制collectionViewTable一次只移动一个单元格?

可能是同一个单元格,只是被系统重复使用。您是否覆盖了prepareForReuse并清理了那里的图层?

重载数据是collectionView的一个功能。
可能是同一个单元,只是被系统重复使用。您是否覆盖了prepareForReuse并清理了那里的图层?

重载数据是collectionView的一个功能。
我的问题已经由Svein Halvorsen解决了:

self.view.layer.sublayers?.forEach { $0.removeFromSuperlayer() }

我的问题已经由Svein Halvorsen解决了:

self.view.layer.sublayers?.forEach { $0.removeFromSuperlayer() }

谢谢你的回复,我之前试过准备,但一直没人打电话。我没有使用同一个细胞,因为它是工作的一段时间好。我想看看我如何能强迫一个单元格一次只移动到下一个单元格,或者如果有任何想法如何使这个问题得到解决,我将不胜感激。谢谢你的回复,我尝试了prepareForReuse,但从未打过电话。我没有使用同一个细胞,因为它是工作的一段时间好。我想看看我如何能强迫一个细胞一次只移动到下一个细胞,或者如果有任何想法,如何使这个问题得到解决,将不胜感激。