Ios 绘制UIBezierPath时出错。无当前点
我正在创建一个Ios 绘制UIBezierPath时出错。无当前点,ios,objective-c,Ios,Objective C,我正在创建一个UIBezierPath,如下所示: UIBezierPath *path = [UIBezierPath bezierPath]; [path addLineToPoint:CGPointMake(200.0, 40.0)]; [path addLineToPoint:CGPointMake(160, 140)]; [path addLineToPoint:CGPointMake(40.0, 140)]; [path addLineToPoint:CGPointMake(0.0
UIBezierPath
,如下所示:
UIBezierPath *path = [UIBezierPath bezierPath];
[path addLineToPoint:CGPointMake(200.0, 40.0)];
[path addLineToPoint:CGPointMake(160, 140)];
[path addLineToPoint:CGPointMake(40.0, 140)];
[path addLineToPoint:CGPointMake(0.0, 40.0)];
[path closePath];
问题是,当我尝试绘制我的UIBezierPath
时,它没有出现,我得到一个错误:
<Error>: void CGPathCloseSubpath(CGMutablePathRef): no current point.
我做错了什么?错误信息很清楚。创建我的
UIBezierPath
时,缺少一行代码:
[path moveToPoint:CGPointMake(0, 0)];
我加上了它,一切都很有魅力
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(0, 0)];
[path addLineToPoint:CGPointMake(160, 140)];
[path addLineToPoint:CGPointMake(40.0, 140)];
[path addLineToPoint:CGPointMake(0.0, 40.0)];
[path closePath]
有趣的是,错误发生在我试图画线的时候,而不是在我创建线之前。我正在使用一个简单的UIBezierPath创建SceneKit SCNShape。我得到了关于“无当前点”的相同警告,但当我添加移动到(0,0)时,形状不再出现在我的SceneKit场景中。很奇怪。
UIBezierPath *path = [UIBezierPath bezierPath];
[path moveToPoint:CGPointMake(0, 0)];
[path addLineToPoint:CGPointMake(160, 140)];
[path addLineToPoint:CGPointMake(40.0, 140)];
[path addLineToPoint:CGPointMake(0.0, 40.0)];
[path closePath]