我正在使用CAShapeLayer绘制拼图。绘制一条很容易的部分并且我也做了它。但是现在我想绘制椭圆切割椭圆的一部分。现在我的问题是如何使用CGPathAddEllipseInRect切割椭圆?这是我的代码:
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
[shapeLayer setBounds:self.bounds];
[shapeLayer setPosition:self.center];
[shapeLayer setFillColor:[[UIColor clearColor] CGColor]];
[shapeLayer setStrokeColor:[[UIColor blackColor] CGColor]];
[shapeLayer setLineWidth:3.0f];
// Setup the path
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, 10, 10);
CGPathAddLineToPoint(path, NULL, 75,10);
CGPathAddEllipseInRect(path, NULL, CGRectMake(75, 10, 50, 20));
[shapeLayer setPath:path];
CGPathRelease(path);
[[self layer] addSublayer:shapeLayer];
提示将不胜感激。
答案 0 :(得分:1)
请勿使用CGPathAddEllipseInRect
,而是需要计算起点和终点,并使用CGPathAddArcToPoint
或更可能使用CGPathAddQuadCurveToPoint
。