我尝试迁移状态栏应用以在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文件。
它的显示方式似乎很随意。有时它显示黑色,就像它应该的那样,切换到黑暗模式会使它变成白色。但是当关闭黑暗模式时,文本和图像将保持白色。其他时候应用程序将启动(关闭暗模式),文本和图像将为白色并保持白色,即使在关闭黑暗模式后也是如此。
有什么想法吗?