2009-11-10 6 views
2

Я пытаюсь создать приложение LSUIElement, которое ведет себя как Spotlight, CoverSutra и другие приложения этого типа. Мне удалось создать пользовательский NSStatusItem, который отображает NSWindow, но проблема в том, что приложение, которое в настоящее время сосредоточено, будет сосредоточено на моем обычном NSWindow.Пользовательский NSStatusItem с пользовательским представлением - используйте NSWindow, NSView, пользовательский NSMenuItem?

Я основан себя на примере Мэтт Джеммелл (в http://mattgemmell.com/2008/03/04/using-maattachedwindow-with-an-nsstatusitem)

Например, если вы находитесь в Safari и нажмите на значок Spotlight, текущее окно Safari не серый, и продолжает сосредоточенным. Когда вы нажимаете ESC в центре внимания, фокус возвращается в окно Safari.

Мне не удалось сделать это с помощью моего пользовательского NSWindow. Я должен щелкнуть по окну, чтобы снова установить фокус.

Так что я хотел бы знать, какой маршрут идти, чтобы достичь этого. Является ли решение NSWindow, NSPanel, NSMenu с пользовательским NSMenuItem?

ответ

4

Использовать NSPanel и NSNonactivatingPanelMask как стильMask или отметить опцию в IB.