1

在 IB 中,

样式:分组,单线蚀刻,白色。我的视图的背景是清晰的颜色。

在这个 ViewController 的 viewDidLoad 中,我创建了一个虚拟背景视图:

UIView *tableBgView = [[UIView alloc] initWithFrame:self.tableView.frame];
tableBgView.backgroundColor = [UIColor clearColor];
self.tableView.backgroundView = tableBgView;
[tableBgView release];

在 cellForRowAtIndexPath 我有:

    UIView *bgView = [[UIView alloc] initWithFrame:cell.bounds];
    bgView.backgroundColor = [UIColor clearColor];
    cell.backgroundView = bgView;
    [bgView release];

我想要做的是使用矩形背景而不是圆角矩形来查找分组表,并且因为在我的 cellForRowAtIndexPath 中我创建了一个 clearColor backgroundView 来摆脱圆角矩形外观,所以我不再有分隔符了。我是否只需在此 bgView 底部添加另一个单像素 UIView 行来获取我的分隔符?或者,还有更好的方法?谢谢。

4

1 回答 1

1

给你,这是我的drawRect:,这将删除圆形单元格。如您所见,这也用于分组表视图控制器中。

这是一个示例图像:

示例图像

- (void) drawRect:(CGRect)rect { CGContextRef context = UIGraphicsGetCurrentContext();

// A left and right margin
float margin = 10.0f;

// Copy the rect and modify it's values to match the margin
CGRect _rect = rect;
_rect.size.width = _rect.size.width - (margin * 2);
_rect.origin.x = margin;

// Fill with a background color, in this case, white.
[[UIColor whiteColor] set];
CGContextFillRect(context, _rect);

// Set a line color
[[UIColor grayColor] set];

// Shift the move point to match our margin
CGContextMoveToPoint(context, margin, _rect.size.height);

// Draw the line with the same width as the cell PLUS the margin (because we shifted it).
CGContextAddLineToPoint(context, _rect.size.width + margin, _rect.size.height);

// Finish
CGContextStrokePath(context);

}

于 2012-06-20T18:50:51.803 回答