2012-08-11 156 views
-1

我創建了Mac桌面應用程序,但它正在運行,但Apple拒絕了它,因爲當我們運行應用程序並使用「X」關閉它時,我們不能從碼頭重新打開它,儘管應用程序圖標仍然存在,但它不會再次打開應用程序,而我所面臨的主要問題是「如果關閉應用程序,然後在菜單欄中是沒有選擇打開它「我見過的其他應用程序這樣做。 任何人都可以告訴我該怎麼做。 Plz幫我緊急。如何在使用X關閉Mac桌面應用程序後重新打開Mac桌面應用程序

+1

你是什麼意思「關閉它使用X」?此外,什麼阻止你調試和修復你的應用程序,使其正常工作?畢竟,你寫了它,所以你知道它是如何工作的,對嗎? – 2012-08-11 07:35:31

+0

使用X關閉表示應用程序最左角的X(關閉)按鈕。 – 2012-08-11 08:41:37

+0

我現在可以使用此鏈接從Dock重新啓動應用程序:http://stackoverflow.com/questions/5498376/closing-mac-application-clicking-red-cross-on-top-and-reopening-通過點擊做 但我怎樣才能顯示在菜單欄中打開選項? – 2012-08-11 08:46:42

回答

1

要爲紅色(x)按鈕實現簡單的顯示/隱藏功能,請將App Delegate類設置爲主窗口的窗口委託。

然後將下面的代碼添加到它:

- (BOOL)windowShouldClose:(id)sender { 
    [[NSApplication sharedApplication] hide:self]; 

    return NO; 
} 

- (void)applicationDidBecomeActive:(NSNotification *)notification { 
    [[NSApplication sharedApplication] unhide:self]; 
} 
+0

謝謝。它爲我工作。 – Sid 2013-12-10 14:55:14

+0

這不起作用。 – 2017-08-24 20:07:08

1

下面是斯威夫特3回答:

順應NSWindowDelegate在視圖控制器類。然後通過覆蓋以下方法隱藏窗口而不是關閉窗口。

self.view.window?.delegate = self 

func windowShouldClose(_ sender: Any) -> Bool { 
    NSApplication.shared().hide(self) 
    return false 
} 

然後在應用程序圖標在dock中單擊時取消隱藏應用程序。

func applicationDidBecomeActive(_ notification: Notification) { 
    NSApplication.shared().unhide(self) 
} 
+0

自我是一個不同的自我! – 2017-08-24 20:07:42

+0

和applicationDidBecomeActive僅在appdelegate中調用 – 2017-08-24 20:08:09