MAAttachedWindow for NSStatusItem没有自定义视图

时间:2012-01-21 21:19:47

标签: objective-c macos cocoa nsstatusitem

我有一个简单的应用程序,它有一个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

2 个答案:

答案 0 :(得分:0)

你不能放弃。你必须有办法获得将窗口附加到的坐标,并且我能够使用它的唯一方法是使用自定义视图,这样你就可以获得鼠标按下的坐标,这是我唯一的方法。我们看到的是使用你自己的观点。除非有某种方法可以在没有自定义视图的情况下获取状态项的视图,否则任何其他内容都可能会有点hacky,并且显示MSAttachedWindow和菜单不太好。

我刚刚决定使用自定义视图和伪装选择来执行NSStatusitem,方法是选择背景渐变。

答案 1 :(得分:0)

您是否考虑过使用NSPopover?