2013-03-19 72 views
0

我想要NSButton NSImage,类似于苹果的“预览”应用程序标记按钮,选择时更改颜色。动态更改NSButton NSImage颜色

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

我无法使用PDF图像进行图像遮罩,因为它具有alpha值。

有什么建议吗?

+0

它总是好的,包括至今让人们知道你已经至少做出了尝试,你尝试过什么解决的代码片段。在代码中找到错误比从头开始创建解决方案要容易得多。 :) – bkbeachlabs 2013-03-19 20:25:56

回答

0

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

即,在某些事件中,您将更改图像的背景颜色。也正如你所知,NSButton没有背景,因为它们是由可可(aqua)风格直接绘制的。

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

这是我的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"]]; 
    } 
} 
+0

图像只是一个PDF图像,可以在选择时改变颜色。类似于Apple的预览应用程序(注释菜单) – 2013-03-20 20:51:27