,顯示菜單欄如何在xcode中創建僅適用於背景的應用程序?
這就像這個問題上:How to create a background-running Cocoa application?
但是他詢問如何使一些沒有菜單欄上顯示出來。那麼我希望事情在菜單欄上顯示出來。
,顯示菜單欄如何在xcode中創建僅適用於背景的應用程序?
這就像這個問題上:How to create a background-running Cocoa application?
但是他詢問如何使一些沒有菜單欄上顯示出來。那麼我希望事情在菜單欄上顯示出來。
你想要做的關鍵的東西開始在Xcode新的Cocoa應用程序後:
1)給你的類的NSStatusItem
@property
和IBOutlet NSMenu
@property
和初始化它們中的一個,一旦應用程序在AppDelegate
已經開始的awakeFromNib
(當然,這並不一定是控制的狀態項的AppDelegate
;你可以使用另一個類):
self.statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSVariableStatusItemLength];
[self.statusItem setMenu:self.menu];
[self.statusItem setTitle:@"Status"];
[self.statusItem setHighlightMode:YES];
2)在你的MainMenu.xib,可進行NSMenu
並將其連線至您的AppDelegate
的NSMenu
IBOutlet。這將是當你點擊你的狀態項目時出現的菜單,所以添加你想要的任何額外的項目,爲他們製作IBActions
,並將它們連接起來。
3)同樣在MainMenu.xib中,刪除MainMenu.xib中的Window對象,因爲當您啓動應用程序時不需要顯示主窗口。
4)在你的info.plist中,添加「應用程序是代理(UIElement)」鍵並將其值設置爲YES。這擺脫了停靠欄圖標。
GravityScore鏈接的tutorial涵蓋了與上述相同的材料。如果在閱讀上述內容後,您不確定如何設置菜單項的操作,或者想知道如何動態添加菜單項,則other tutorial可能會有所幫助。
當然,請參閱NSStatusItem Class Reference瞭解如何自定義狀態項的外觀。
可能重複的[如何將我的程序添加到OS X系統菜單欄?](http://stackoverflow.com/questions/2687938/how-to-add-my-program-to-the-os- x-system-menu-bar) – 2012-02-21 18:46:21
相關信息,雖然性質不同[SO#38994583 Xamarin.Mac]中的應用背景(http://stackoverflow.com/questions/38994583/application-backgrounding-in-xamarin-mac ) - 這並不排除如接受的答案中所述的那樣顯示「狀態項目」 – 2016-12-14 23:19:04