我在 UITableView 上绘制一些自定义内容时遇到了一些问题。我所做的是子类 UITableView 并覆盖 -(void)drawRect 方法,如下所示:
- (void)drawRect:(CGRect)rect
{
CGContextRef ctx = UIGraphicsGetCurrentContext();
[super drawRect:rect];
CGContextSetRGBFillColor(ctx, 255, 0, 0, 1.0f);
CGContextFillRect(ctx, CGRectMake(10, 10, 10, 10));
}
问题是我看到了我的红色矩形,但它位于表格视图单元格的下方。即使我在上面的方法中注释了 [super drawRect:rect] 调用,单元格仍然会显示。
我的猜测是,在内部调用 tableview 的 drawRect 方法的人会在之后绘制单元格,这意味着覆盖 drawRect 是不够的,因为单元格总是会在之后绘制。