【发布时间】:2012-12-13 17:04:57
【问题描述】:
在我的 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];
}
【问题讨论】:
-
你真的应该接受 Objective-C 方法名...
-
我没明白你的意思?是这个问题吗?
-
你能告诉我们你是如何创建和填充路径的其余部分的吗?
-
您的方法名为
-drawTheArcWithColor::::。它应该命名为-drawArc:angle:color:lineWidth:或类似名称。 -
Apple 文档说这不是强制性的。我为什么要用这么短的方法?
标签: objective-c fill nsbezierpath sector