使用自定义视图自定义NSStatusItem - 使用NSWindow,NSView,自定义NSMenuItem?

时间:2009-11-10 04:21:41

标签: nsview nswindow nsmenu nsmenuitem nsstatusitem

我正在尝试创建一个LSUIElement应用,其行为类似于Spotlight,CoverSutra和其他类型的应用。我设法创建了一个自定义的NSStatusItem,它弹出了NSWindow,但问题是当前有焦点的应用程序将重点关注我的自定义NSWindow。

我基于Matt Gemmell的例子(http://mattgemmell.com/2008/03/04/using-maattachedwindow-with-an-nsstatusitem

例如,如果您在Safari中并单击Spotlight图标,则当前的Safari窗口不会变灰并保持聚焦状态。在Spotlight中按ESC键时,焦点将返回到Safari窗口。

我没有设法用我的自定义NSWindow做到这一点。我必须单击一个窗口将焦点设置回它。

所以我想知道要实现这个目标的路线。解决方案是NSWindow,NSPanel,NSMenu和自定义NSMenuItem吗?

1 个答案:

答案 0 :(得分:4)

使用NSPanel和NSNonactivatingPanelMask作为styleMask或勾选IB中的选项。