更改UI表视图的特定行的颜色

时间:2013-01-30 11:10:14

标签: iphone objective-c

如果向UITableView添加任何新行,我想动态更改颜色。如果选择任何行,则更改该行的颜色。 如何完成此任务..?

2 个答案:

答案 0 :(得分:1)

你可以这样做,

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    //First you get the cell you want to change
    UITableViewCell* theCell = [tableView cellForRowAtIndexPath:indexPath];

    //Then you change the properties (label, text, color etc..) in your case, the background color
    theCell.contentView.backgroundColor=[UIColor redColor];

    //Deselect the cell so you can see the color change

    [tableView deselectRowAtIndexPath:indexPath animated:YES];

}

答案 1 :(得分:0)

每次需要更改行的颜色时,您都会重新加载UITableView。在cellForRowAtIndexPath功能中,您将设置一个开关案例:

switch(indexpath.row)
{
    case 1:
          //set the cell background color.
    .
    .
    .
    default :
          // color u want by default
}

如果要更改用户选择的特定行的颜色。然后,您必须在didSelectRowAtIndexPath委托方法中保存行号。并在cellForRowAtIndexPath中更改该特定行的背景颜色。

if(indexpath.row == selectedRow)
{
   //set this color
}
else
{
   //set another color
}