0

经过更多的谷歌搜索和堆栈溢出计算后,不要覆盖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方法。

4

0 回答 0