0

我想NSBox在滑块移动中填充颜色。我正在使用以下代码。

-(IBAction)slider1move:(id)sender {
    [self.box setFillColor:[NSColor colorWithCalibratedRed: ([self.slider1 floatValue])/255.0 green:0.0 blue:0.0 alpha:0.0]];   
}

请纠正我。我的应用程序中有三个滑块,每个滑块对应于红色、绿色和蓝色。

如何根据滑块的当前值填充滑块移动框中的颜色。就像我的滑块显示值为 50 一样,如果它是红色的,则该框应该用红色填充一半。

4

2 回答 2

3

看看你的颜色,你设置了完全透明的颜色 - alpha 为 0.0,这就是你的颜色没有改变的原因。

将您的颜色更改为 alpha 1.0,如下所示:

[NSColor colorWithCalibratedRed: ([self.slider1 floatValue])/255.0 green:0.0 blue:0.0 alpha:1.0]
于 2012-05-10T08:40:51.447 回答
3

首先,确保您已满足NSBoxsetFillColor:文档中列出的要求:

仅当接收方的框类型 ( boxType) 为NSBoxCustom 且其边框类型 ( borderType) 为时才起作用NSLineBorder

假设这不是问题,快速猜测是您可能需要调用setNeedsDisplay:该框以使用新颜色重新绘制它。

于 2012-05-08T21:37:25.290 回答