CGContextSetLineCap/CGContextSetLineJoin 创建 ImageContext 时被忽略

CGContextSetLineCap/CGContextSetLineJoin ignored when creating ImageContext

出于某种原因,当尝试创建带圆角的线时,除了这两个

之外,所有其他属性都被应用
 UIGraphicsBeginImageContextWithOptions(size, opaque, scale)
        let context = UIGraphicsGetCurrentContext()
            CGContextSetStrokeColorWithColor(context, color.CGColor)
            CGContextSetLineCap(context, CGLineCap.Round) //Ignored
            CGContextSetLineJoin(context, CGLineJoin.Round) //Ignored
            CGContextSetLineWidth(context, lineWidth)
        CGContextSaveGState(context)

        CGContextMoveToPoint(context, bounds.midX, 0)
        CGContextAddLineToPoint(context, bounds.midX, bounds.maxY)
        CGContextRestoreGState(context)
        CGContextStrokePath(context)

         // Drawing complete, retrieve the finished image and cleanup
        let image = UIGraphicsGetImageFromCurrentImageContext()
        UIGraphicsEndImageContext()

结果:

有什么建议吗?谢谢!

在路径的端点 之外添加线帽。你的道路延伸 在边界的整个 y 坐标范围内,因此 线帽超出范围。