我正在尝试使用带有NSImage的NSButton,类似于Apple的“预览”应用标记按钮,这些按钮会在选中时更改颜色。
从查看捆绑资源看,Apple看起来好像使用了PDF图像(例如TB_annotMarkupUnderlineTemplate.pdf),并在选择VS时以编程方式更改颜色。具有蓝色的交替图像。
我无法使用PDF图像进行图像遮罩,因为它具有alpha值。
有什么建议吗?
答案 0 :(得分:0)
如果我理解你的问题,你想在运行时改变图像的背景颜色。
即,在某些情况下,您将更改图像的背景颜色。另外你知道NSButton没有背景,因为它们是由可可(浅绿色)风格直接绘制的。
您需要放置一些图像并隐藏按钮的标题(如果您不想显示标题)。
这是我sample code的相同内容。
我在NSComboBox上使用过IBAction,
- (IBAction)comboSelect:(id)sender {
if ([[sender stringValue] isEqualToString:@"Red" ]) {
[self.button setImage:[NSImage imageNamed:@"imgRed"]];
}
else if ([[sender stringValue] isEqualToString:@"Green" ]) {
[self.button setImage:[NSImage imageNamed:@"imgGreen"]];
}
else if ([[sender stringValue] isEqualToString:@"Blue" ]) {
[self.button setImage:[NSImage imageNamed:@"imgBlue"]];
}
}