iOS:UITableViewCell的默认背景颜色是什么

时间:2011-11-08 13:34:38

标签: ios uitableview default background-color

我想将tableViewCell内的标签的背景颜色设置为不透明,但我需要Apple提供的uiTableViewCell的默认背景颜色。

那么我怎样才能得到这个背景或它的颜色是什么颜色?

此致

4 个答案:

答案 0 :(得分:2)

要重置已回收(出列)UITableViewCell的颜色,这在iOS 5,6和7中对我有用:

cell.backgroundColor = nil;

正如其他人在这里建议的那样,我为新创建的单元格记录了该属性的值。我看到了null。这让我想到了这个房产。似乎在所有3个iOS版本中都有效。

我模糊地回忆一下,iOS已经彻底改变了UITableView和UITableViewCell中颜色的默认设置方式。在某些版本中,父容器颜色被拾取。在某些版本中,默认颜色为灰白色,但随时间变化。在iOS 7中,无论父母如何,都应用White。注意:请勿引用本段;如果你关心,请查阅。关键是,告诉你设置特定颜色的答案会给你不好的建议。

答案 1 :(得分:1)

您可以记录单元格的背景颜色

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

或单元格的contentView

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

您也可以直接设置标签的颜色:

label.backgroundColor = cell.contentView.backgroundColor;

答案 2 :(得分: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属性,其中包含真实的可见颜色。

答案 3 :(得分:1)

我找到了一个解决方案:Different cell bg color depending on iOS version (4.0 to 5.0)

总结一下,我只是实现方法

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

谢谢!