0

次のコードを使用して、カスタム 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 など) に関係なく、線は同じ幅 (1 ピクセル幅) で描画され、実際に描画される線には影響がないように見えます)。

この問題を引き起こしている可能性があることをアドバイスできる人はいますか? この問題を提起する以前の質問を見つけることができませんでした。

4

1 に答える 1

0
NSBezierPath().lineWidth = 20.0

これ()は、クラスの新しいインスタンスを初期化し、そのインスタンスをlineWidth20.0.0 に設定することを意味します。変数を作成し、それを使用してパスを描画する必要があります。

var bezierPath = NSBezierPath()

bezierPath.lineWidth = 20.0
bezierPath.moveToPoint(dataPointsArray[index])
bezierPath.lineToPoint(dataPointsArray[index + 1])
于 2015-07-08T13:17:19.163 に答える