2
是否可以使用CAShapeLayer绘制给定线宽的曲线?看起来它只能画出填充的形状。我想画一个动画剧情图。只是一条线,而不是一个形状。如何用CAShapeLayer绘制图表?
是否可以使用CAShapeLayer绘制给定线宽的曲线?看起来它只能画出填充的形状。我想画一个动画剧情图。只是一条线,而不是一个形状。如何用CAShapeLayer绘制图表?
好吧,看来你实际上可以用CAShapeLayers画线。尝试是这样的:
UIBezierPath *graphPath = [UIBezierPath bezierPath];
[graphPath moveToPoint:CGPointMake(x, y)];
[graphPath addLineToPoint:CGPointMake(x, y + h)];
[graphPath closePath];
然后把它放在一个CAShapeLayer:
CAShapeLayer *shapeLayer = [[CAShapeLayer alloc] init];
[shapeLayer setFrame: aFrame];
[shapeLayer setPath: [graphPath CGPath]];
[shapeLayer setStrokeColor:[[UIColor blackColor] CGColor]];
[shapeLayer setMasksToBounds:YES];
您可以更改graphPath
绘制你想图中的任何曲线/线。
希望这会有所帮助!
@ProudMember - 我编辑了我的答案。 – pasawaya 2012-07-30 10:36:16
非常感谢。 Upvoted!为了仅获得该行,我必须将fillColor设置为零。 – 2012-07-30 11:18:25