将背景颜色设置为我的UITableViewCell将不起作用

时间:2013-06-05 12:32:33

标签: ios uitableview background-color

我有一个带有表视图的视图,以编程方式创建(没有XIB关联)。我希望一些细胞具有浅灰色背景颜色。 所以我尝试了这个:

cell.contentView.backgroundColor = [UIColor colorWithRed:(230/255.f) green:(230/255.f) blue:(230/255.f) alpha:1.0];

但这是结果(问题当然是细胞的背景应该是完全灰色的):

enter image description here

我也尝试了这个,结果与之前相同:

UIView *cell_view = [[UIView alloc] init];
[cell_view setBackgroundColor:[UIColor colorWithRed:(230/255.f) green:(230/255.f) blue:(230/255.f) alpha:1.0]];
[cell setBackgroundView:cell_view];

似乎没什么用。谢谢你的帮助。

6 个答案:

答案 0 :(得分:1)

将tableviews设置为背景颜色以清除颜色。

 tableView.backgroundColor = [UIColor clearColor];

答案 1 :(得分:1)

请执行以下操作:

  1. 设置tableview背景颜色以清除颜色。
  2. 将cell.backgroundview设置为nil。
  3. 将cell.backgroundcolor设置为灰色。

答案 2 :(得分:0)

不要给背景颜色。而是创建一个具有所需颜色的视图。并设置为backgroundView。

答案 3 :(得分:0)

覆盖tableView:willDisplayCell:forRowAtIndexPath:代理人:

-(void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    [cell setBackgroundColor:[UIColor colorWithRed:(230/255.f) green:(230/255.f) blue:(230/255.f) alpha:1.0]];
}

另外,将textLabel背景颜色设置为透明

cell.textLabel.backgroundColor = [UIColor clearColor];

答案 4 :(得分:0)

试试这个:

//set this in viewDidLoad method
yourTable.backgroundColor = [UIColor clearColor];

//set this in cellForRowAtIndexPath method of UITableView
cell.backgroundview = nil;
cell.backgroundColor = [UIColor greenColor];

答案 5 :(得分:0)

此代码适用于我。

请尝试以下代码:

(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {

UIColor *CellColor = [UIColor colorWithRed:(230/255.f) green:(230/255.f) blue:(230/255.f) alpha:1.0];
cell.backgroundColor = CellColor;

}