我有一个简单的应用程序,它有一个NSStatusItem,它只显示一个图标。
我现在想添加一些功能,使MAAttachedWindow
出现在NSStatusItem下。
我看到了Matt Gemmel提供的演示代码;他用来使MAAttachedWindow
出现在NSStatusItem下面的代码是:
NSRect frame = [[self window] frame];
NSPoint pt = NSMakePoint(NSMidX(frame), NSMinY(frame));
[controller toggleAttachedWindowAtPoint:pt];
以上内容是在NSStatusItem
的自定义视图中完成的。但是,我的NSStatusItem
没有自定义视图。如何在我的案例中添加MAAttachedWindow
?
答案 0 :(得分:0)
你不能放弃。你必须有办法获得将窗口附加到的坐标,并且我能够使用它的唯一方法是使用自定义视图,这样你就可以获得鼠标按下的坐标,这是我唯一的方法。我们看到的是使用你自己的观点。除非有某种方法可以在没有自定义视图的情况下获取状态项的视图,否则任何其他内容都可能会有点hacky,并且显示MSAttachedWindow和菜单不太好。
我刚刚决定使用自定义视图和伪装选择来执行NSStatusitem,方法是选择背景渐变。
答案 1 :(得分:0)
您是否考虑过使用NSPopover?