我想在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时,如果是红色,那么盒子应该用红色填充一半。
答案 0 :(得分:3)
首先,请确保您已符合NSBox
setFillColor:
文档中列出的要求:
仅当接收者的框类型(
boxType
)为NSBoxCustom
时才有效 及其边框类型(borderType
)为NSLineBorder
。
假设不是问题,那么您可能需要快速猜测是否需要在框上调用setNeedsDisplay:
以使用新颜色重新绘制它。
答案 1 :(得分:3)
看看你的颜色,你设置了完全透明的颜色 - alpha到0.0 这就是为什么你的颜色不会改变。
将您的颜色更改为alpha 1.0,如下所示:
[NSColor colorWithCalibratedRed: ([self.slider1 floatValue])/255.0 green:0.0 blue:0.0 alpha:1.0]