-2

如果将任何新行添加到 UITableView,我想动态更改颜色。如果选择任何行一次,则更改该行的颜色。我怎样才能完成这个任务..?

4

2 回答 2

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];

}
于 2013-01-30T11:15:19.637 回答
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
}
于 2013-01-30T11:15:54.370 回答