2012-05-14 139 views
0

我自定義繪製分組單元格中的表格單元格。我如何獲得背景色?分組UITableView自定義繪製單元格,而不更改背景顏色?

我實際上在單元格內有一個視圖,並且正在自定義該視圖在其drawRect:中的繪製方式。 我嘗試這樣做:

- (void)drawRect:(CGRect)rect 
{ 
    BOOL isHighlighted = self.highlighted; 
    CGRect frame = self.bounds; 

    CGContextRef c = UIGraphicsGetCurrentContext(); 

    if (!isHighlighted) { 
     [[UIColor whiteColor] set]; 
     CGContextFillRect(c, frame); 
    } 

    // rest of drawing 
} 

這與普通的表視圖效果很好,但它不是爲分組表視圖匹配。它看起來像大約96%的灰色。

它看起來像這樣:

White box

如果屏幕不能很好校準,你可能看不出來區別。但它在那裏。

當我嘗試這樣做:

if (!isHighlighted) { 
     //[[UIColor whiteColor] set]; 
     //CGContextFillRect(c, frame); 
    } 

我,而不是有一個黑色的背景,就像這樣:

Black box

我的假設是,我需要填寫的每一個像素在我的抽籤程序。

當我試試這個:

if (!isHighlighted) { 
     [[self backgroundColor] set]; 
     CGContextFillRect(c, frame); 
    } 

我也得到了黑色的背景。我認爲我認爲的backgroundColortransparentColor

我試過這個,太:

if (!isHighlighted) { 
     CGContextFillRect(c, frame); 
    } 

同樣的黑色盒子。

如何匹配分組表格視圖的背景顏色,而不使用吸管並將[UIColor colorWithWhite: alpha:]硬編碼到我的應用中?

回答

1

得到

UIColor * background = [self.superview backgroundColor]; 

我想打電話[super drawRect:rect];在您的自定義的頂部繪製矩形將解決這個問題

+0

我不得不去掉兩個超級瀏覽器,但是這個方法對我有用。 –

1

您是否嘗試過它的超視圖的背景顏色?

[[UIColor clearColor] set]; 
相關問題