Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c NSStatusBarButton模板图像颜色错误_Objective C_Macos_Cocoa_Osx Yosemite_Nsstatusitem - Fatal编程技术网

Objective c NSStatusBarButton模板图像颜色错误

Objective c NSStatusBarButton模板图像颜色错误,objective-c,macos,cocoa,osx-yosemite,nsstatusitem,Objective C,Macos,Cocoa,Osx Yosemite,Nsstatusitem,我正在尝试将我的状态栏应用程序迁移到Yosemite上使用NSStatusBarButton,而不是自定义视图,但我无法使模板图像正常工作 我正在如下配置NSStatusItem: self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength]; self.statusItem.button.imagePosition = NSImageLeft; self.sta

我正在尝试将我的状态栏应用程序迁移到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文件

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


有什么想法吗?

你能在一个小型测试应用程序中实现这一点吗?我在任何状态项应用程序/测试应用程序中都没有见过这种情况。@Taylor刚刚尝试过,并且似乎按照预期工作。我想我还有更多的调查要做。事实上,我在聚光灯下看到了这一切!试着重新启动你的应用程序。@seaturtle这已经很旧了,我不确定我的确切问题是否仍然存在于最新的macOS中,但我记得重新启动应用程序对我的情况没有任何影响。嗯,这很奇怪。杀光聚光灯一直对我有用,也许是出了什么问题。但你现在做的和我做的完全一样,除了你用了一个按钮……这可能是问题所在吗?