2017-04-22 51 views
0

我在水平滾動collectionViewController內部時遇到問題。在CollectionViewController中滾動的問題 - Swift

內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一次只移動一個單元格?

回答

0

我的問題:

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

可能它是同一個單元,只是被系統重用。您是否覆蓋prepareForReuse並清理那裏的圖層? https://developer.apple.com/reference/uikit/uicollectionreusableview

ReloadData是collectionView的函數。已經由Svein Halvor Halvorsen的解決 https://developer.apple.com/reference/uikit/uicollectionview/1618078-reloaddata

+0

感謝的人對您的回覆,我試過prepareForReuse,但它從來沒有叫。我沒有使用相同的單元格,因爲它工作一段時間沒問題。我想看看如何強制一個單元格一次只移動到下一個單元格,或者如果有任何想法如何使這個問題解決將不勝感激。 –