我有一个calendarView
由collectionView
组成。这是使用数学计算导出的自定义calendarView
。 第七行标记星期六,它是假期,所以字体颜色为第七列的所有标签的红色。 但是,当我滑动或导航到其他日子时,红色标签以无法追踪的随机顺序分散。屏幕截图如下:出列collectionviewcell的奇怪错误
这是怎么发生的? 在我dequeueReusableCell
方法我已经配置度假小区:
cell.isHoliday = (indexPath.row + 1) % 7 == 0 ? true : false
这是度假的逻辑在我的自定义collectionViewCell
。
@IBOutlet var dateLabel: UILabel!
@IBOutlet var englishDateLabel: UILabel!
@IBOutlet var tithiLabel: UILabel!
var isToday: Bool = false {
didSet {
self.contentView.backgroundColor = isToday ? Colors.Palette.LightGreen : UIColor.white
}
}
var isHoliday: Bool = false {
didSet {
if isHoliday {
tithiLabel.textColor = Colors.Palette.DarkRed
dateLabel.textColor = Colors.Palette.DarkRed
englishDateLabel.textColor = Colors.Palette.DarkRed
}
else {
dateLabel.textColor = UIColor.black
englishDateLabel.textColor = UIColor.black
}
}
}
随着我滑动到下个月,每个collectionview单元格顶部的红色标签数量不断增加。为什么会发生这种情况,我怎样才能阻止这种情况的发生?
发生这种情况的原因是单元在出列后重用,使用'prepareForReuese'来清除旧值。 – sasquatch