mac os x のタイマー アプリで、時計の領域を緑、黄、オレンジ、赤でマークしたいと考えています。以下のスクリーンショットを参照してください。そして、経過時間を透明なグレーで塗りつぶしたいと思います。
ただし、スクリーンショットでわかるように、円弧セグメントのみが塗りつぶされています。しかし、私はセクター全体が満たされることを望んでいます。私にできる唯一のことは[thePath fill];
いつものように、私は何か間違ったことをしていると思います。しかし、何?
電話
[self drawTheArcWithColor:path1 :liveAngle1 :[NSColor greenColor ] :lineTheWidth];
方法
- (void) drawTheArcWithColor:(NSBezierPath*) thePath :(CGFloat) angle :(NSColor*) theColor :(CGFloat) line {
[thePath setLineWidth:line];
[thePath appendBezierPathWithArcWithCenter:centerPoint radius:2+circleHeight/2 startAngle:angle endAngle:angle+90.0f];
[theColor setStroke];
[[NSColor grayColor] setFill];
[thePath fill];
[thePath stroke];
}