DR, 맞습니다. 매우 혼란 스럽습니다!
하지만 Tom이 맞다고 생각합니다. [aBezierPath stroke]를 사용하세요.
그래서, 이런 식으로 뭔가 될 것이다 :
REF 당신이 구축 한 A (CGContextRef).
YOURBEZIERPATH은 (UIBezierPath *)입니다.
필연적으로 그렇게은 "거꾸로 그리기"문제를 처리해야 :
UIGraphicsPushContext(REF);
CGContextSaveGState(REF);
CGContextTranslateCTM(REF, 0, the height*);
CGContextScaleCTM(REF, 1.0, -1.0);
[YOURBEZIERPATH stroke];
CGContextRestoreGState(REF);
UIGraphicsPopContext();
그래서 그게입니다.
Re 아래에 귀하의 의견 : 나는 UIBezierPaths의 배열을 가지고 있습니다. 각 베 지어에는 고유 한 스타일과 색상이 있습니다.
... for 루프로, 하나의 "스트로크"전화를 교체 :
UIGraphicsPushContext(REF);
CGContextSaveGState(REF);
CGContextTranslateCTM(REF, 0, the height*);
CGContextScaleCTM(REF, 1.0, -1.0);
for each of YOURBEZIERPATH in your array...
{
CGContextSaveGState(REF);
[YOURBEZIERPATH stroke];
CGContextRestoreGState(REF);
}
CGContextRestoreGState(REF);
UIGraphicsPopContext();
당신은 실제로 aBezierPath.CGPath, 또는 그 사본을 사용하여 귀찮게 할 필요가 없습니다.
다시 말하지만, UI와 CG의 두 가지 세계가 매우 혼란 스럽습니다.
* 높이 : 종종 self.frame.size.height와 비슷합니다. 나는 미래의 일반적인 예제 코드를 찾는 사람들을 위해 이것을 포함한다.
UIBezierPath의 스트로크 방식을 사용할 수 있습니까? –