NSStatusBarButton模板图像颜色错误

时间:2014-10-07 00:13:28

标签: objective-c macos cocoa osx-yosemite nsstatusitem

我尝试迁移状态栏应用以在Yosemite上使用NSStatusBarButton而非自定义视图,但我无法让模板图像生效。

我像这样配置NSStatusItem

self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
self.statusItem.button.imagePosition = NSImageLeft;
self.statusItem.button.target = self;
self.statusItem.button.action = @selector(clickButton:);

然后我会像以后一样设置图片和标题,

self.statusItem.button.title = [self statusItemTitleForLocation:location];

NSImage *image = [self statusItemImageForLocation:location];
[image setTemplate:YES];
self.statusItem.button.image = image;

我使用的图像是只有黑色和透明色的PNG文件。

它的显示方式似乎很随意。有时它显示黑色,就像它应该的那样,切换到黑暗模式会使它变成白色。但是当关闭黑暗模式时,文本和图像将保持白色。其他时候应用程序将启动(关闭暗模式),文本和图像将为白色并保持白色,即使在关闭黑暗模式后也是如此。

有什么想法吗?

0 个答案:

没有答案