2017-04-22 15 views
0

collectionViewController内で水平方向にスクロールする際に問題が発生しました。 CellForItemA内部CollectionViewControllerのスクロールに関する問題 - Swift

、私は、各水平セルの上にいくつかの線を描画するために、次のことを持っている:

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を使用しようとしましたが、動作しませんでした。

コレクションビューの表を強制的に1つのセルだけ移動させる方法はありますか?

答えて

0

私の質問:あなたの返信用

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

システムによって再利用された同じセルを使用できます。 prepareForReuseを上書きしてレイヤーをクリーンアップしましたか? https://developer.apple.com/reference/uikit/uicollectionreusableview

ReloadDataは、collectionViewの関数です。すでにスヴェイン・Halvor Halvorsenのことで解決 https://developer.apple.com/reference/uikit/uicollectionview/1618078-reloaddata

+0

感謝の男は、私がprepareForReuseを試してみましたが、それは呼び出されませんでした。私は同じセルを使用していないので、それはいくつかの時間が正常に動作している。私は、一度に次のセルに移動するようにセルを強制する方法、またはこれを解決する方法を理解していれば、それがどれだけうまくいくか見てみようとしています。 –

関連する問題