我正在尝试创建一个以图像为背景的表格。
为此,我从背景入手:

self.view.backgroundColor = [UIColor groupTableViewBackgroundColor];


这导致背景图像也出现在表格单元格中。那不是我想要的东西,所以我尝试设置单元格的backgroundColor:

cell.backgroundColor = [UIColor whiteColor];


这根本没有效果!嗯,很奇怪。
所以我尝试了这个:

UIView *backgroundView = [[UIView alloc] init];
backgroundView.backgroundColor = [UIColor whiteColor];
cell.backgroundView = backgroundView;
[backgroundView release];


这几乎可以工作。剩下的唯一问题是textLabel和detailTextLabel仍显示它们后面的背景。
将这些标签上的backgroundColor设置为白色也不会执行任何操作。

我该如何进行?我哪里出错了?我正在尝试实现像worldClock应用程序一样的tableView。

最佳答案

要更改表格视图单元格的背景色,您需要在tableView:willDisplayCell:forRowAtIndexPath:而不是tableView:cellForRowAtIndexPath:中进行设置
否则不会有任何效果,例如:

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    cell.backgroundColor = [UIColor whiteColor];
}

关于uitableview - UITableViewCellStyleSubtitle标签的BackgroundColor?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2005050/

10-13 04:30