2014-02-22 59 views
3

我創建一個UIBezierPath這樣的:繪製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. 

我圖紙代碼是非常基本的:

UIGraphicsBeginImageContext(self.view.bounds.size); 

[[UIColor whiteColor] set]; 
[myPath stroke]; 

UIGraphicsEndImageContext(); 

我在做什麼錯?

回答

5

錯誤消息很明顯。當我創建我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] 

有趣的是,當我試圖繪製線條而不是之前 - 我創建它時發生錯誤。