如何在UITableViewCell中自定义标准标签的背景颜色?

时间:2008-12-31 19:11:45

标签: cocoa-touch

我正在尝试过去几个小时来弄清楚如何做到这一点,但没有运气。在搜索Google时,有几种可能的解决方案,但似乎没有任何效果。

我正在尝试自定义UITableViewCell中标准UILabel的背景颜色(因为我已经自定义了单元格本身的背景颜色),但我所做的一切似乎都无法正常工作。

我正在创建自己的UILabel来自定义-tableView中的颜色:cellForRowAtIndexPath:

UILabel* label = [[[UILabel alloc] init] autorelease];
label.textColor = [UIColor blueColor];
label.backgroundColor = [UIColor redColor];
label.opaque = YES;
[cell.contentView addSubview:label];
cell.text = @"Sample text here";

但是这不起作用,结果表视图仍然有一堆单元格,标签中有黑色文字和白色背景。

我在这里做错了什么线索?

更新:如果我尝试执行以下操作:

UILabel* label = [[[UILabel alloc] init] autorelease];
label.textColor = [UIColor blueColor];
label.backgroundColor = [UIColor redColor];
label.opaque = YES;
[cell.contentView addSubview:label];
label.text = @"Sample text here";

我得到了一堆没有文字的UITableViewCells。

3 个答案:

答案 0 :(得分:1)

您似乎将文本分配给单元格而不是标签。你可能想要:

label.text = @"Sample text here";

此外,您需要将标签的框架设置为您需要的框架:

label.frame = CGRectMake(10,10, 80, 40);

或直接在构造函数中:

label = [[UILabel alloc] initWithFrame:myFrame];

答案 1 :(得分:0)

我不会在代码中这样做。我会使用自定义XIB文件,然后将其加载到您的

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath

委托功能。这样您就可以将XIB文件设计为您的确切规格,并进行调整。

祝你好运!

答案 2 :(得分:0)

您之前已经提出过这个问题,并收到了正确答案;

How to customize the background color of a UITableViewCell?