分组UITableView自定义绘制单元格,而不更改背景颜色?
问题描述:
我自定义绘制分组单元格中的表格单元格。我如何获得背景色?分组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%的灰色。
它看起来像这样:
如果屏幕不能很好校准,你可能看不出来区别。但它在那里。
当我尝试这样做:
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:]
硬编码到我的应用中?
答
得到
UIColor * background = [self.superview backgroundColor];
我想打电话[super drawRect:rect];
在您的自定义的顶部绘制矩形将解决这个问题
答
您是否尝试过它的超视图的背景颜色?
[[UIColor clearColor] set];
我不得不去掉两个超级浏览器,但是这个方法对我有用。 –