我试图在iOS UIView中绘制Bezier曲线。我的代码是这样的:
UIBezierPath *curvePath = [UIBezierPath bezierPath];
[curvePath moveToPoint:_startPoint];
[curvePath addCurveToPoint:_endPoint controlPoint1:_controlPoint1 controlPoint2:_controlPoint2];
[[UIColor blueColor] setStroke];
curvePath.lineWidth = 8;
[curvePath stroke];
_drawingLayer = [CAShapeLayer layer];
_drawingLayer.path = curvePath.CGPath;
[self.view.layer addSublayer:_drawingLayer];
答案 0 :(得分:0)
您将手绘与CAShapeLayer
混合在一起。如果您正在使用形状图层,则需要对其进行配置,而不是尝试自己绘制路径。例如:
UIBezierPath *curvePath = [UIBezierPath bezierPath];
[curvePath moveToPoint:_startPoint];
[curvePath addCurveToPoint:_endPoint controlPoint1:_controlPoint1 controlPoint2:_controlPoint2];
_drawingLayer = [CAShapeLayer layer];
_drawingLayer.path = curvePath.CGPath;
/* Configure the layer, not the current context */
_drawingLayer.strokeColor = UIColor.blueColor.CGColor;
_drawingLayer.lineWidth = 8;
[self.view.layer addSublayer:_drawingLayer];