我画的时候怎么不清楚UIView?

时间:2014-03-21 08:26:59

标签: ios objective-c drawing cgcontext

我在UIView上画了一条线。当我调用-setNeedsDisplay时,我的视图变得清晰并绘制新线条。如何继续当前行?如何用动画绘画?感谢。

- (void)drawRect:(CGRect)rect {

    [super drawRect:rect];
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetStrokeColorWithColor(context, [_color CGColor]);
    CGContextSetLineWidth(context, 10.0);
    CGContextMoveToPoint(context, _startPointX, 0);
    CGContextAddLineToPoint(context, _endPointX, 0);
    CGContextStrokePath(context);
}

2 个答案:

答案 0 :(得分:2)

setNeedsDisplay完全重绘视图。因此,您需要将所有图形存储在某处并在每次重绘时应用它。 在绘制动画时你是什么意思?动画绘图正在绘制自己。只需在每次小改动后重新绘制视图,看起来就像是自然绘制的。

答案 1 :(得分:0)

对于动画,您可以使用这些行创建CAShapeLayer。

然后用keypath @" storkeEnd"创建一个CABasicAnimation。 toValue设置@ 1以绘制从清除到绘制的所有行。