MKOverlayRenderer 使用 CGPath 画线
MKOverlayRenderer draw line using CGPath
我正在尝试使用 MKOverlayRenderer
画一条线。我的覆盖渲染器的 drawMapRect
大致是:
let path = CGPathCreateMutable()
CGPathMoveToPoint(path, nil, x, y) // x, y = starting point
let remainingPoints: [CGPoint] = ... // remaining points
CGPathAddLines(path, nil, remainingPoints, remainingPoints.count)
CGContextAddPath(context, path)
CGContextSetStrokeColorWithColor(context, UIColor.blueColor().CGColor)
CGContextSetLineWidth(context, 2.0)
CGContextStrokePath(context)
但这不起作用,什么也没有出现。我也试过抚摸:
CGContextDrawPath(context, .Stroke)
我知道我的路径定义正确,因为如果我使用 .FillStroke
,它会填充多边形。
使用 CGPathCloseSubpath(path)
关闭路径没有帮助。
我的线宽 (2.0) 对于缩放级别来说太小了。
我正在尝试使用 MKOverlayRenderer
画一条线。我的覆盖渲染器的 drawMapRect
大致是:
let path = CGPathCreateMutable()
CGPathMoveToPoint(path, nil, x, y) // x, y = starting point
let remainingPoints: [CGPoint] = ... // remaining points
CGPathAddLines(path, nil, remainingPoints, remainingPoints.count)
CGContextAddPath(context, path)
CGContextSetStrokeColorWithColor(context, UIColor.blueColor().CGColor)
CGContextSetLineWidth(context, 2.0)
CGContextStrokePath(context)
但这不起作用,什么也没有出现。我也试过抚摸:
CGContextDrawPath(context, .Stroke)
我知道我的路径定义正确,因为如果我使用 .FillStroke
,它会填充多边形。
使用 CGPathCloseSubpath(path)
关闭路径没有帮助。
我的线宽 (2.0) 对于缩放级别来说太小了。