2

我正在尝试创建一个 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 做到这一点。我必须单击一个窗口才能将焦点重新设置回它。

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

4

1 回答 1

4

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

于 2010-03-22T18:08:33.240 回答