2011-11-08 165 views
4

我想为tableViewCell中的标签设置背景颜色为不透明,但我需要Apple提供的uiTableViewCell的默认背景颜色。iOS:什么是UITableViewCell的默认背景颜色

那么我怎么能得到这个背景或者什么颜色呢?

问候

+0

当你不改变背景颜色时,他们有什么颜色?这应该是默认的。 – dasdom

+0

如何使用这些标签的superView属性并从该点获取backgroundColor? – Till

+0

这也行不通。我得到黑色的背景。这可能是cos单元格的backgroundColor为空... –

回答

1

您可以登录细胞

NSLog(@"cell background color is %@", cell.backgroundColor); 

或细胞的内容查看的背景颜色

NSLog(@"cell contentView's background color is %@", cell.contentView.backgroundColor); 

你也只需要直接设置标签的颜色:

label.backgroundColor = cell.contentView.backgroundColor; 
+0

你是我的更快:) – beryllium

+0

两个都没有工作!?我得到这个:“单元格背景颜色是(空)”和“单元格contentView的背景颜色是(空)”。我在设备和模拟器上将此记录在cellForRowAtIndexPath方法中。这很奇怪。这是为什么? –

+0

ü,我提到我有自定义单元格“cell = [[TableViewCellController alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];”。这是一个问题吗? –

1
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    UIColor *color = [cell backgroundColor]; 
    NSLog(@"%@",color); 

结果是

2011-11-08 17:09:20.101 TEST1 [5439:207] UIDeviceRGBColorSpace 1 1 1 1

它表示默认颜色为红色= 1,绿= 1,蓝色= 1,alpha = 1。这是一个白色的颜色。

请注意,该UITableViewCell也有contentView属性,它包含真正的可见颜色。

+0

我得到这个:(null)。没有任何工作... –

1

要重置的颜色的回收(离队)UITableViewCell,这已经在iOS 5中,6个工作对我来说,和7:

cell.backgroundColor = nil; 

正如其他建议在这里,我登录该属性的值一个新创建的单元格。我看到了null。这让我想到了将财产剔除的想法。似乎可以在所有3个iOS版本中使用。

正如我隐约记得,iOS已经彻底改变了在UITableView和UITableViewCell中为颜色设置默认值的方式。在某些版本中,父容器的颜色被拾取。在某些版本中,该默认颜色呈灰白色,但随着时间而改变。在iOS 7中,无论父母是否使用白色。注意:不要在这段中引用我;看看它,如果你在乎。关键是,答案告诉你设置一个特定的颜色给你不好的建议。