如果向UITableView添加任何新行,我想动态更改颜色。如果选择任何行,则更改该行的颜色。 如何完成此任务..?
答案 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
}