2015-12-21 40 views
1

时失去蓝色高亮效果当我使用一个NSButton风格“圆矩形”,键入“切换”和图像,图像和标题将很好地呈现蓝色,当国家被设置为上。NSButton设置备用图像

然而,当我还添加备用图像,该高光亮的效果消失。

有没有简单的方法来解决这个问题?

我想要实现与Xcode中检查器顶部的小标签栏图标相同的效果:选择时为蓝色,使用替代图像(稍大胆)时为蓝色,未使用默认图像时为黑色。

+0

请新增到目前为止你已经尝试任何代码:http://stackoverflow.com/help/mcve – AGE

+1

无需任何代码,只需使用在我的第一行中提到的设置来实现的蓝色高光效果。只要设置替代图像,此效果就会消失。 – Ely

回答

0

这是预期的行为。该系统只将你的模板应用视觉亮点,如果你不提供自己的备用(主动/升/对)版本。

+1

我偶然从Apple找到了证明上述答案的文档,同时在[link](https://developer.apple.com/library/mac/releasenotes/AppKit/RN-AppKitOlderNotes/)上寻找另一个“挑战” ),说明“_You可以注意到,这是不可能都使用一个独特的艺术片作为上的按钮或分段控制的alternateImage并同时获得蓝色辉光。这可能有些限制,但应该倾向于确保只在适当时才使用此效果。 – Ely

0

在等待一个更好的解决方案中,我使用以下解决方法:

-(IBAction)handleClick:(id)sender 
{ 
    NSButton *button = sender; 
    button.image = [NSImage imageNamed:[button.identifier stringByAppendingString:button.state == NSOnState ? @"On" : @""]]; 
} 

我在标准图像和替代图像之间切换的代码,利用控制作为基本名称的标识符图片。有点丑,但它有效。处于“开启”状态时,按钮上的图像现在显示为蓝色,同时显示(略大一点)备用图像。