改变CAShapeLayer中的lineWidth

时间:2011-10-21 00:01:20

标签: iphone objective-c core-animation

我正在开展一个小项目,我想绘制一条bezier曲线。我希望能够在图纸的不同部分改变lineWidth

这就是我所拥有的:

CAShapeLayer *pathLayer = [CAShapeLayer layer];
pathLayer.frame = self.animationLayer.bounds;
pathLayer.bounds = pathRect;
pathLayer.geometryFlipped = YES;
pathLayer.path = path.CGPath;
pathLayer.strokeColor = [[UIColor blackColor] CGColor];
pathLayer.fillColor = nil;
pathLayer.lineWidth = 1.0f;
pathLayer.lineJoin = kCALineJoinBevel;

我如何改变线条的宽度?一个解决方案可能是拥有多个UIBezierPath的多个CAShapeLayer,但似乎应该有一个更简单,更优雅的解决方案(在该级别指定lineWidth的方式指定UIBezierPath行的地方。

谢谢!

1 个答案:

答案 0 :(得分:6)

UIBezierPath只有一个lineWidth属性,因此无法使用一条路径绘制不同的线宽。您必须使用多个路径才能达到此效果。