我是自定义在分组单元格中绘制表格单元格。如何获得正确的背景颜色?
我实际上在单元格内部有一个视图,并且正在自定义该视图在其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%的灰色。
看起来像这样:
如果您的屏幕校准不好,您可能看不出差异。但它就在那里。
当我尝试这个时:
if ( !isHighlighted ) {
//[[UIColor whiteColor] set];
//CGContextFillRect( c, frame );
}
我改为黑色背景,如下:
我的假设是我需要填充绘图程序中的每个像素。
当我尝试这个时:
if ( !isHighlighted ) {
[[self backgroundColor] set];
CGContextFillRect( c, frame );
}
我也得到了黑色背景。我认为我的观点的backgroundColor
是transparentColor
。
我也试过这个:
if ( !isHighlighted ) {
CGContextFillRect( c, frame );
}
同样的黑匣子。
如何匹配分组表视图的背景颜色,而不使用吸管并将[UIColor colorWithWhite: alpha:]
硬编码到我的应用中?
答案 0 :(得分:1)
获取其超级视图的背景颜色
UIColor * background = [self.superview backgroundColor];
我认为在自定义绘制rect的顶部调用[super drawRect:rect];
将解决此问题
答案 1 :(得分:1)
[[UIColor clearColor] set];