这是在UITableViewCell中绘制的两条线的图片,具有相同的功能,相同的宽度和颜色
正如您所看到的,底线比另一条线厚很多。
我用于绘图的代码:
[CSDrawing drawLineWithColor:[UIColor blackColor] width:1.0 yPosition:1.0 rect:rect];
[CSDrawing drawLineWithColor:[UIColor blackColor] width:1.0 yPosition:CGRectGetMaxY(rect) - 3.0 rect:rect]; // draw a line on top and bottom
+(void)drawLineWithColor:(UIColor *)color width:(CGFloat)width yPosition:(CGFloat)yPosition rect:(CGRect)rect {
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSaveGState(context);
CGContextMoveToPoint(context, 0.0, yPosition);
CGContextAddLineToPoint(context, CGRectGetMaxX(rect), yPosition);
CGContextSetStrokeColorWithColor(context, color.CGColor);
CGContextSetLineWidth(context, width);
CGContextStrokePath(context);
CGContextRestoreGState(context);
}
答案 0 :(得分:-1)
问题在于,当重复使用单元格时,backgroundView被拉伸以适应单元格的内容。当细胞更大时,像素被拉伸。这可以通过将contentMode
属性设置为UIViewContentModeRedraw