0

我正在尝试使用带有 NSImage 的 NSButton,类似于 Apple 的“预览”应用程序标记按钮,这些按钮在选择时会改变颜色。

通过查看捆绑资源,Apple 似乎使用 PDF 图像(例如 TB_annotMarkupUnderlineTemplate.pdf)并在选择 VS 时以编程方式更改颜色。具有蓝色的交替图像。

我不能对 PDF 图像进行图像屏蔽,因为它具有 alpha 值。

请问有什么建议吗?

4

1 回答 1

0

如果我理解您的问题,您想在运行时更改图像的背景颜色。

即,在某些事件中,您将更改图像的背景颜色。此外,您知道 NSButton 没有背景,因为它们是由可可( aqua )样式直接绘制的。

您需要放置一些图像并隐藏按钮的标题(如果您不想显示标题)。

这是我的示例代码

我在 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"]];
    }
}
于 2013-03-20T03:51:23.560 回答