2012-01-23 30 views
2

我很努力地顯示我在代碼中生成的UIBezierPath,所以在嘗試調試它時,我想打印它繪製的座標。我無法在任何地方找到這種技術。考慮到下面的代碼,有人可以分享這個嗎?調試UIBezierPath

感謝

UIBezierPath* beizerPath2 = [UIBezierPath bezierPath]; 
[beizerPath2 moveToPoint:CGPointMake(0.0, 167)];  
[beizerPath2 addLineToPoint:CGPointMake(100, 40)]; 
[beizerPath2 addLineToPoint:CGPointMake(200, 70)];  
[beizerPath2 addLineToPoint:CGPointMake(300, 30)];  
[beizerPath2 addLineToPoint:CGPointMake(320, 30)];  
[beizerPath2 addLineToPoint:CGPointMake(320, 167)];  
[beizerPath2 closePath]; 

CAShapeLayer *maskLayer = [CAShapeLayer layer]; 
maskLayer.path = [beizerPath2 CGPath]; 

//print Bezier/Path co-ordinates here. 

回答

2

不知道你的意思是「座標被繪製在。」使用-bounds方法可以獲取路徑的最小邊界矩形。當你正在調試並且想要使用NSLog()時,也不要忽略非常有用的NSString宏,比如NSStringFromCGRect(),例如NSStringFromCGRect()。

NSLog(@"%@", NSStringFromCGRect([path bounds])); 

如果我誤解了你的問題,請澄清。

+0

座標,每個路徑關鍵點的x,y座標。 – oberbaum

+0

我認爲你所要求的是無稽之談。路徑是一個矢量對象,可包含無限的關鍵點(即轉向點)(例如,考慮包含圓的路徑)。在繪製路徑之前,所有可以擁有的都是抽象表示,但正如我指出的那樣*可以*獲得最小邊界矩形。也許你應該解釋你正在嘗試調試的問題 - 你可能會咆哮錯誤的樹。 –

+0

是的,我認爲這可能是這種情況,並且定義的點(上面)消失在形狀中。 – oberbaum