UIBezierPath的lineWidth具有最大值

时间:2014-07-27 04:12:46

标签: ios objective-c

我试图创建一个像半圆一样的圆弧,我可以用不同的颜色制作动画。我想我会开始为弧创建一个bezier路径并将线宽设置为大的。这就是我到目前为止所做的:

CAShapeLayer *layer = (CAShapeLayer *)self.layer;
UIBezierPath *bezierPath = [UIBezierPath bezierPath];

CGPoint startPoint = CGPointMake(self.bounds.origin.x, self.bounds.origin.y + self.bounds.size.height / 2);
[bezierPath moveToPoint:startPoint];
layer.fillColor = [UIColor clearColor].CGColor;
layer.strokeColor = [UIColor redColor].CGColor;
CGFloat strokeSize = 10;

CGPoint endPoint = CGPointMake(self.bounds.origin.x + self.bounds.size.width, self.bounds.origin.y + self.bounds.size.height / 2);

[bezierPath setLineWidth:100];
[bezierPath addQuadCurveToPoint:endPoint controlPoint:CGPointMake(self.bounds.origin.x + self.bounds.size.width / 2, self.bounds.origin.y)];
bezierPath.lineCapStyle = kCGLineCapRound;
layer.path = bezierPath.CGPath;

当我看到我的弧线时,它看起来并不比一条细路更大。这是创造这样的东西的方式吗?或者我是否需要创建两个路径并以某种方式填充它们之间的区域?

1 个答案:

答案 0 :(得分:1)

您需要设置图层的lineWidth,而不是bezier路径,

layer.lineWidth = 100;