キノコが何か作るブログ

ゲーム・ドット絵・アプリなどを作ります

MENU

UICollectionViewのセル再利用バグを直す【Swift】

CollectionViewでカレンダーを作って、reloadData()で翌月を表示するようにしたらバグりました。年月ラベルが更新されないのは気にしないでください。

f:id:mizukinoko:20200515084011g:plain

原因

セルを作る時にdequeueReusableCell()を使っていたため、先月のセルをそのまま再利用していたことが原因でした。

解決法

こんな感じで初期化して使うことにしました。

let dayLabel = cell.contentView.viewWithTag(1) as! UILabel

dayLabel.text = ""

dayLabel.textColor = .black

dayLabel.alpha = 1.0

f:id:mizukinoko:20200516081304g:plain


セルを初期化したかったのですが、やり方が載ってなかったのでラベルを初期化する方法を取りました。

プライバシーポリシー