2016-06-14 5 views
0

오버레이 렌더에서 UIBezierPath을 사용하여 일부 선을 그려야합니다. 문맥을 모르는 UIBezierPath으로 인해 의심되는 CGContextSetStrokeColorWithColor: invalid context 0x0 오류가 발생합니다. UIBezierPath의 컨텍스트를 어떻게 설정합니까? 내 MKOverlayRendererUIBezierPath 설정 컨텍스트

은 대략 다음과 같습니다

override func drawMapRect(mapRect: MKMapRect, zoomScale: MKZoomScale, inContext context: CGContext) { 
    let path = UIBezierPath() 

    path.moveToPoint(...) 
    path.addLineToPoint(...) 

    path.lineWidth = 2 
    UIColor.blueColor().setStroke() 
    path.stroke() 
} 

답변

0

당신은 컨텍스트에 대한 경로를 가르치려고하지, 직접 상황에서 작동해야합니다. 따라서 CGContextAddPath 및 관련 기능을 사용하십시오.

+0

오버레이 렌더러와 함께 'UIBezierPath'를 사용할 수 없습니까? –

+0

CGPath를 요청할 수 있습니다. 그렇습니다. – Wain

+0

CGContextStrokePath (context) 또는 CGContextDrawPath (context, .Stroke)를 사용하여 스트로크해야합니까? 어느 쪽도 효과가없는 것 같습니다. 'CGContextDrawPath (context, .FillStroke)'는 렌더되지만 경로 다각형을 채 웁니다. 이것은 원하는 것이 아닙니다. 나는 그 길이있는 선을 원한다. –