【问题标题】:Lines drawn with core graphics that are set to the same width sometimes vary in size when drawn使用设置为相同宽度的核心图形绘制的线条有时在绘制时大小会有所不同
【发布时间】:2012-11-24 07:50:28
【问题描述】:

这是在 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);
     }

【问题讨论】:

    标签: objective-c ios drawing core-graphics


    【解决方案1】:

    问题在于当单元格被重用时,backgroundView 被拉伸以适应单元格的内容。当单元格较大时,像素会被拉伸。将contentMode 属性设置为UIViewContentModeRedraw 即可解决此问题

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-28
      • 2020-12-10
      • 1970-01-01
      • 2015-03-03
      • 1970-01-01
      • 2018-04-15
      相关资源
      最近更新 更多