cell.backgroundColor问题

Sim*_*iwi 3 cell tableview ios

我在互联网上找到了这个方便的代码,

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
 cell.backgroundColor = (indexPath.row%2)?[UIColor grayColor]:[UIColor clearColor];
 }
Run Code Online (Sandbox Code Playgroud)

我知道它会使每一行都变成灰色,然后是清晰的,然后是灰色的模式.但我想在浅灰色和深灰色之间切换.如何修改上面的代码,以便在这两种颜色之间切换?

谢谢!

Dev*_*rke 12

这两个darkGrayColorlightGrayColor有效的颜色名称,所以将其更改为下面的代码.我所做的只是改变你的颜色名称.

(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    cell.backgroundColor = (indexPath.row%2)
        ? [UIColor lightGrayColor]
        : [UIColor darkGrayColor];
}
Run Code Online (Sandbox Code Playgroud)

交替行颜色如何工作的说明:indexPath.row % 2对索引执行模数:如果除以2时没有余数,则颜色为lightGrayColor; 否则,它会darkGrayColor.我将代码间隔了一点,以便更明显地发生了什么.

  • @iBrad:是的你可以改变灰色.使用这个函数`CGContextSetGrayFillColor(CGContextRef c,CGFloat grey,CGFloat alpha);`来组成你喜欢的灰色调. (2认同)