我正在UITableView
工作,我需要更改每个第二个单元格的背景颜色,以帮助查看数据。
为此,我尝试制作一个名为" cellAlteration"的简单变量。我在加载数据之前将其设置为0(因此第一个单元格应始终为白色)
var cellAlteration: Int = 0
然后我在设置我的单元格的地方执行以下操作:
// #BackgroundColor
if cellAlteration == 0 {
self.backgroundColor = UIColor.whiteColor()
cellAlteration = 1
} else {
self.backgroundColor = UIColor.formulaWhiteColor()
cellAlteration = 0
}
(我知道这应该更改为BOOL数据类型而不是Int,但这似乎与我目前的问题无关)
以下是结果图片:
正如您所看到的,它没有正确交替。
当我试图测试它时,它看起来像是第一次正确加载的单元格(UITableView
只加载并显示你可以看到的单元格) - 着色的问题没有&直到我向下滚动UITableView
必须加载并显示新单元格时才会发生。
因为我的简单变量检查方法不起作用,在Swift中进行单元格交替的正确方法是什么?
非常感谢任何帮助:)!
答案 0 :(得分:6)
您不需要变量来执行此操作。根据行是偶数还是奇数来确定颜色。将单元格出列后,将其放在cellForRowAtIndexPath中,
if indexPath.row % 2 == 0 {
cell.backgroundColor = UIColor.whiteColor()
}else{
cell.backgroundColor = UIColor.formulaWhiteColor()
}