我正在尝试设置UITableViewCells的单元格背景,但我正在努力处理UIAccessoryView的背景颜色。它不会改变。
任何人都可以帮助我使UIAccessoryView的背景颜色透明(或实际上是任何其他颜色)吗?
这是我的代码
cell.textLabel.backgroundColor = [UIColor clearColor];
cell.accessoryView.backgroundColor = [UIColor clearColor];
cell.detailTextLabel.backgroundColor = [UIColor clearColor];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
if(indexPath.row % 2) {
cell.contentView.backgroundColor = [UIColor clearColor];
}
else {
cell.contentView.backgroundColor = [UIColor redColor];
}
以下是说明问题的图片
答案 0 :(得分:46)
您需要设置UITableViewCell的backgroundView
属性。例如:
UIView* myBackgroundView = [[[UIView alloc] initWithFrame:CGRectZero] autorelease];
myBackgroundView.backgroundColor = [UIColor redColor];
myCell.backgroundView = myBackgroundView;
如果你想要一些更加花哨的东西,比如红色渐变背景,你可以实现一个UIView的子类,它在drawRect:
中绘制一个渐变,并将它用作backgroundView。
如果您想要自定义查找选定的表格单元格,也可以设置selectedBackgroundView
属性。
答案 1 :(得分:4)
在功能中
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
使用以下代码
cell.contentView.superview.backgroundColor = [UIColor redColor];