2011-11-08 166 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中,無論父母是否使用白色。注意:不要在這段中引用我;看看它,如果你在乎。關鍵是,答案告訴你設置一個特定的顏色給你不好的建議。