我正在使用NSMenuBar应用程序而另一个NSMenuBar应用程序似乎会影响我的应用程序的显示行为!?更确切地说:Adobe的Creative Cloud Application。当我点击该(创意云)图标时,会出现弹出视图。之后,当我点击我的StatusBar图标时,我的菜单出现,但是,应该启用的所有NSMenuItem都会突然禁用,而不再是交互式。
一些观察结果:
当我记录NSMenuItem的启用状态时,它会正确记录为已启用,但显然没有显示为已启用(请参见屏幕截图),单击该按钮只会关闭菜单而不执行相关操作。我使用以下代码进行日志记录:
-(void)menuWillOpen:(NSMenu *)menu
{
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC),
dispatch_get_main_queue(),
^{
NSLog(@"preferences menu-item is enabled: %hhd",[self.preferenceMenuItem isEnabled]);
});
}
我使用的NSMenu设置为setAutoenablesItems:NO。
此外,Adobe的Creative Cloud使用弹出视图。当它被打开时,它明显地盘旋在我的NSMenu正在使用的屏幕上。
当我尝试使用其他NSMenuBar应用程序(例如Apple的Wifi或蓝牙)重现这一点时,一切正常。没问题。然后,这些应用程序不会使用Popover视图,并且它们不会完全重叠我的应用程序空间。
请将这些屏幕截图视为插图:
在
恶意创意云
在
我在这里错过了什么?应用程序不应该像这样影响对方吗?我慢慢地,但肯定会失去理智。任何帮助很多人赞赏!日Thnx !!