自定义uitableviewcell高亮颜色

时间:2014-04-01 14:26:55

标签: ios objective-c uitableview

我按如下方式设置自定义的uitableviewcell选择颜色:

    cell.contentView.backgroundColor = [[UIColor alloc]initWithRed:250.0/255.0 green:250.0/255.0 blue:250.0/255.0 alpha:1];

    UIView *bgColorView = [[UIView alloc] init];
    bgColorView.backgroundColor = [UIColor colorWithRed:(240.0/255.0) green:(240.0/255.0) blue:(240.0/255.0) alpha:1.0];
    bgColorView.layer.masksToBounds = YES;
    cell.selectedBackgroundView = bgColorView;

这非常有效,只是因为我的UITableViewCell的常规背景颜色不是白色,当突出显示后淡出然后变为白色然后是我的背景颜色而不是淡化为我的背景颜色。有人知道怎么解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

而不是设置contentView的背景颜色,而是设置backgroundView

UIView *bgView = [[UIView alloc] init];
bgView.backgroundColor = [[UIColor alloc]initWithRed:250.0/255.0 green:250.0/255.0 blue:250.0/255.0 alpha:1];
cell.backgroundView = bgView;

UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = [UIColor colorWithRed:(240.0/255.0) green:(240.0/255.0) blue:(240.0/255.0) alpha:1.0];
bgColorView.layer.masksToBounds = YES;
cell.selectedBackgroundView = bgColorView;

答案 1 :(得分:0)

tableview:cellFor...返回背景后,桌面视图会设置背景。因此,应在tableView:willDisplayCell:...

中处理单元格背景自定义