选中时,无法更改tableviewcell的颜色

时间:2013-10-22 14:27:42

标签: ios uitableview

我是iOS新手。我在tableview中使用渐变。加载表视图时,我可以使用渐变更改颜色。但是当我选择它时,我无法改变tableview单元格的颜色。我没有使用自定义单元格。请帮我。提前谢谢

2 个答案:

答案 0 :(得分:1)

在为iOS 7开发时,如果您不想使用标准单元,则必须为单元格定义背景视图。

在方法tableView:cellForRowAtIndexPath:中,执行:

UIView *bgColorView = [[UIView alloc] init];
bgColorView.backgroundColor = /* your customized color */ ;
bgColorView.layer.masksToBounds = YES;
cell.selectedBackgroundView = bgColorView;

创建细胞时。

答案 1 :(得分:0)

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {     [cell setBackgroundColor:[UIColor clearColor]];

CAGradientLayer *grad = [CAGradientLayer layer];
grad.frame = cell.bounds;
grad.colors = [desired colors]

[cell setBackgroundView:[[UIView alloc] init]];
[cell.backgroundView.layer insertSublayer:grad atIndex:0];

CAGradientLayer *selectedGrad = [CAGradientLayer layer];
selectedGrad.frame = cell.bounds;
selectedGrad.colors = desired colors

[cell setSelectedBackgroundView:[[UIView alloc] init]];
[cell.selectedBackgroundView.layer insertSublayer:selectedGrad atIndex:0];

}