2017-05-22 17 views
1

ヘッダーにラベルを挿入しようとしましたが、collectionViewをスクロールすると別のラベルがビューに追加されます。どうやってこれをやめることができますか? enter image description hereCollectionViewヘッダーのラベルの問題

override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView { 
    let header = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "header", for: indexPath) 
    header.backgroundColor = .white 
    let label = UILabel(frame: header.bounds) 
    label.text = colorsArray[indexPath.section] 
    header.addSubview(label) 
    return header 
} 

答えて

1

あなたはヘッダをサブクラス化し、そこにラベルを追加する必要があります。だから、毎回ヘッダーにラベルを追加することはありません。

すべてのラベルを削除してもう一度追加することは、非常に悪い習慣であり、大きなオーバーヘッドです。

+0

私は本当にヘッダーを使用する必要があるので、私はそれを行うことはできません。 –

+0

しかし、あなたはUICollectionReusableViewでヘッダをサブクラス化することができます – Retterdesdialogs

+0

ああ、申し訳ありません、コード 'cell.label.text = "something"'は私を混乱させました。 あなたは正しいです、それは非常にうまくいきます。ありがとう –

関連する問題