2012-01-23 79 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