UITableViewCell的背景颜色,而点击(UItableviewcell backgroun

2019-09-21 03:18发布

如何设置一个颜色到选择或勾选整个小区并重置为以前的颜色,而在未经检查的UITableView的?我试过,但它显示了一个sec.can任何一个请帮我代码的背景颜色。

Answer 1:

好了,在这里我想你想选择何时以及另一种颜色,如果未选中,留下那些选定的单元格与以前随颜色的单元格。 因此,在全球拥有一个数组状态。 在didSelectRowAtIndexPath方法:

if (![myMutableArray containsObject:indexPath]) {
    [myMutableArray addObject:indexPath]; 
}
else{
    [myMutableArray removeObject:indexPath];
}

[sampleTableView reloadData];

而在的cellForRowAtIndexPath:

if ([myMutableArray containsObject:indexPath]) {
    cell.backgroundColor = [UIColor redColor];
}
else{
    cell.backgroundColor = [UIColor greenColor];
}


Answer 2:

在你的头文件作出NSIndexPath的对象(让它成为checkedIndexPath这里使用),并指定其属性和合成它also.In您的tableView的方法的cellForRowAtIndexPath使用:

cell.selectionStyle = UITableViewCellSelectionStyleNone;

现在,在您的didSelectRowAtIndexPath方法使用下列内容:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

if(self.checkedIndexPath)
{
    UITableViewCell* uncheckCell = [tableView cellForRowAtIndexPath:self.checkedIndexPath];
    uncheckCell.backgroundColor = [UIColor green];
}
UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
cell.backgroundColor = [UIColor redColor];
self.checkedIndexPath = indexPath;

}   

使用这个选择,如果你将有红色的细胞,并在绿色,如果未选中。



Answer 3:

您可以设置背景颜色UITableViewCell

cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cell_normal.png"]]

然后在单击事件的颜色将自动更改。

您可以通过改变选择的颜色: -

cell.selectionStyle = UITableViewCellSelectionStyleBlue;

为了改变为textLabel颜色。

cell.textLabel.textColor = [UIColor blackColor];


文章来源: UItableviewcell background color while click