如何自定义UITableViewCell中标准标签的背景颜色?
问题描述:
我在过去的几个小时想弄清楚如何做到这一点,但没有运气。搜索Google时有几种可能的解决方案,但似乎没有任何效果。如何自定义UITableViewCell中标准标签的背景颜色?
我想自定义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与没有任何文字。
答
看起来您将文本分配给单元格而不是标签。你可能想:
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文件到你的确切规格,并调整它。
祝你好运!
不,这使得单元格不显示任何文字。我会更新这个问题来反映这一点。 – jpm 2008-12-31 19:41:32
您还需要设置框架的大小。我已经更新了我的答案。 – codelogic 2008-12-31 20:56:42