2012-01-23 2 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()를 사용하려면 NSStringFromCGRect()와 같이 매우 유용한 NSString 매크로도 간과하지 마십시오.

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

질문에 대한 오해의 소지가있는 경우 명확히하십시오.

+0

좌표는 각 경로 키포인트의 x, y 좌표입니다. – oberbaum

+0

당신이 묻는 것은 무의미하다고 생각합니다. 패스는 무한 키 (예 : 선회) 점을 포함 할 수있는 벡터 객체입니다 (예 : 원이 포함 된 경로를 고려). 경로가 채워질 때까지 당신이 가질 수있는 모든 것은 추상적 인 표현입니다,하지만 제가 지적했듯이, 최소한의 경계 rect를 얻을 수 있습니다. 어쩌면 디버깅하려고하는 문제점을 설명해야합니다. 잘못된 트리를 짖고있을 수도 있습니다. –

+0

그래, 나는 이것이 사실일지도 모른다고 생각했다. 그리고 정의 된 포인트 (위)는 모양으로 사라진다. – oberbaum

관련 문제