SWIFT OSX NSBezierPath 线宽 属性 不工作

SWIFT OSX NSBezierPath Linewidth property not working

我正在使用以下代码在自定义 NSView 上绘制折线图

for var index = 0; index < (dataPointsArray.count - 1); index++ {
    NSBezierPath().lineWidth = 20.0
    NSBezierPath.strokeLineFromPoint(dataPointsArray[index], toPoint: dataPointsArray[index + 1])
}

此代码段包含在由自定义视图中的 drawRect() 调用的函数中。

线条在视图的坐标系内正确绘制。但是,无论 .lineWidth 设置(例如 5.0、10.0、20.0 等)如何,线条都以相同的宽度(一个像素宽度)绘制,这似乎对实际绘制的线条没有影响。

有没有人能告诉我是什么导致了这个问题。我没能找到之前提出这个问题的问题。

NSBezierPath().lineWidth = 20.0

() 表示您正在初始化 class 的新实例并将其 lineWidth 设置为 20.0。您应该创建一个变量并使用它来绘制您的路径:

var bezierPath = NSBezierPath()

bezierPath.lineWidth = 20.0
bezierPath.moveToPoint(dataPointsArray[index])
bezierPath.lineToPoint(dataPointsArray[index + 1])