Swift UITableviewCell颜色改变

时间:2015-05-29 05:59:48

标签: ios uitableview swift

我正在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,但这似乎与我目前的问题无关)

以下是结果图片:

enter image description here

正如您所看到的,它没有正确交替。

当我试图测试它时,它看起来像是第一次正确加载的单元格(UITableView只加载并显示你可以看到的单元格) - 着色的问题没有&直到我向下滚动UITableView必须加载并显示新单元格时才会发生。

因为我的简单变量检查方法不起作用,在Swift中进行单元格交替的正确方法是什么?

非常感谢任何帮助:)!

1 个答案:

答案 0 :(得分:6)

您不需要变量来执行此操作。根据行是偶数还是奇数来确定颜色。将单元格出列后,将其放在cellForRowAtIndexPath中,

if indexPath.row % 2 == 0 {
    cell.backgroundColor = UIColor.whiteColor()
}else{
    cell.backgroundColor = UIColor.formulaWhiteColor()
}