我是iOS新手。我在tableview中使用渐变。加载表视图时,我可以使用渐变更改颜色。但是当我选择它时,我无法改变tableview单元格的颜色。我没有使用自定义单元格。请帮我。提前谢谢
答案 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];
}