2012-02-27 19 views
4

我正在編寫一個mac應用程序,它位於菜單欄中,並在用戶點擊狀態項時顯示NSPanel實例。每當打開另一個狀態項目的菜單時,我想隱藏該窗口。現在,我的面板保持打開狀態;它看起來像這樣:用戶在Mac上打開其他NSStatusItem菜單的通知

My app is on the left, attached to the infinity status item

我看其他的應用,如礦山關閉時,另一狀態項打開它的菜單,所以我他們越來越認識到消失,其通知奇蹟。我查看了NSWindowDelegateNSApplicationDelegate,但我沒有看到任何通知正在生成。

有什麼建議嗎?

回答

4

我想通了!在awakeFromNib中,我設置了我的NSPanel實例的屬性。我用的是以下情況:

[panel setStyleMask:panel.styleMask^NSTitledWindowMask]; 

它切換到以下幾點:

[panel setStyleMask:(panel.styleMask^NSTitledWindowMask^NSNonactivatingPanelMask)]; 

的伎倆。在閱讀Neil Inglis' blog post之後,我用類似的方法使用MAAttachedWindow,我想出了它。

+0

對我來說沒有竅門。 – Morkrom 2014-11-03 23:48:18