English 中文(简体)
如何自定义UITableViewCell中标准标签的背景颜色?
原标题:
  • 时间:2008-12-31 19:11:44
  •  标签:

我过去几个小时一直在尝试弄清楚如何做到这一点,但没有成功。 在搜索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";

我得到了一堆没有文本的UITableView单元格。

最佳回答

看来你是将文本分配到了单元格,而不是标签上。你可能想要:

label.text = @"Sample text here";

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

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

或者直接在构造函数中:

label = [[UILabel alloc] initWithFrame:myFrame];
问题回答

我不会在代码中实现这个。我会使用自定义XIB文件,然后将其加载到你的项目中。

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

代理功能。这样您可以根据您的具体规格设计XIB文件并进行微调。

祝你好运!

你之前已经问过这个问题并获得正确的答案;

如何自定义UITableViewCell的背景颜色?





相关问题
热门标签