经过更多的谷歌搜索和堆栈溢出计算后,不要覆盖UITableViewCell
自定义类-drawRect
方法,而是使用UIView
自定义类的-drawRect
方法,如下所示。
UITableViewCell
自定义类
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
CustomView *customView = [[CustomView alloc]initWithFrame:self.contentView.bounds];
[self.contentView addSubview:customView];
[customView release];
// Initialization code
}
return self;
}
UIView
自定义类
- (void)drawRect:(CGRect)rect
{
// Drawing code
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
// Draw them with a 2.0 stroke width so they are a bit more visible.
CGContextSetLineWidth(context, 2.0);
CGContextMoveToPoint(context, 0,0); //start at this point
CGContextAddLineToPoint(context, 20, 20); //draw to this point
// and now draw the Path!
CGContextStrokePath(context);
}
但问题从来没有被称为 customView
'-drawRect
方法。