NSStatusItem在菜单栏中的压花效果

时间:2014-03-06 10:14:29

标签: macos cocoa

我正在Mac OS状态栏中开发一个带图标的应用程序。

我添加了我的图标:

self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
NSBundle *bundle = [NSBundle mainBundle];
NSImage *connectedImage = [[NSImage alloc] initWithContentsOfFile: [bundle pathForResource: @"drawing" ofType: @"pdf"]];
[self.statusItem setImage:disconnectedImage];

它显示正常,但没有Apple系统状态项具有的传统浮雕(或阴影)效果:

您可以在左侧看到我的图标,在右侧看到带有效果的Apple图标。

我尝试过不同的图像格式而没有任何运气。如果我使用内部图标,则会产生效果:

[self.statusItem setImage:[NSImage imageNamed:NSImageNameLockLockedTemplate]];

我应该将自己的效果添加到图像中还是有一些我不知道的东西?

谢谢!

1 个答案:

答案 0 :(得分:1)

你只需要做

[myImage setTemplate:YES];

然后系统会为你做缩进。