2011-03-31 29 views
10

當我關閉我的Mac應用程序時(通過單擊窗口頂部欄上的紅色十字按鈕),應用程序圖標停留在底部的擴展塢中。現在這是正常的行爲。當用戶再次點擊它時,它不會啓動應用程序,除非用戶完全退出應用程序並再次重新啓動應用程序。關閉Mac應用程序(單擊頂部的紅色十字)並通過點擊停靠圖標重新打開

Mac OS X上的一個類似示例是「活動監視器」。您可以點擊頂部的紅色十字按鈕關閉應用程序,但停靠圖標停留在此處。用戶可以通過點擊停靠圖標重新打開它。

我如何在自己的應用程序中實現這一目標?

回答

20

如果你還在關注如何重新打開已關閉的窗口,用這種方法請參見http://developer.apple.com/library/mac/#documentation/cocoa/reference/NSApplicationDelegate_Protocol/Reference/Reference.html處理對碼頭中應用程序圖標的點擊。

有關更多信息,請查閱NSApplicationDelegate協議參考。

下面是文檔:

http://developer.apple.com/library/mac/#documentation/cocoa/reference/NSApplicationDelegate_Protocol/Reference/Reference.html

希望這有助於!

3

實現該方法

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender 
{ 
return NO; 
} 

在應用程序委託

您的應用程序窗口後會流連關閉,然後如果你實現

- (void)applicationDidBecomeActive:(NSNotification *)aNotification 
{ 
//dock icon has just been clicked , or cmd-tabbed into 
} 
在應用程序委託

當點擊圖標時,你可以做些事情,比如打開一個新的或舊的勝利

- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag { 

[window makeKeyAndOrderFront:self]; 

return YES; 
} 

您可以使用此:道指如果你需要

其他相關應用程序事件

+0

他說,在applicationDidBecomeActive你可以看到,如果應用程序是沒有窗戶的,如果是,打開一個新的空白窗口(或類似)。 – 2011-03-31 12:35:38

相關問題