2015-07-20 31 views
2

你好我的工作,它使用2個窗口的程序。 通過主窗口,您可以打開第二個窗口。如果沒有其他窗口打開,請重新打開窗口。蘋果,可可

如果我在程序運行的第一個窗口,而在可運行文件即可打開在第二個窗口。那不是想要的。 我怎麼能獨佔方式打開的第一個窗口,如果第二個沒有打開或最小化,否則我寧願激活第二個窗口,但不重新打開第一。

我希望你能幫助我,因爲我無法找到任何東西在互聯網上有用。我是OSX編程的新手,但在其他語言中我並不那麼糟糕。

回答

0

您需要實現NSApplicationDelegate方法applicationShouldHandleReopen:hasVisibleWindows:

當應用程序已經關閉了所有它的窗口,需要重新打開一個我只用這一點,但我相信這會爲你工作:

- (BOOL) applicationShouldHandleReopen:(NSApplication *)sender hasVisibleWindows:(BOOL)flag 
{ 
    return !flag; 
} 

這告訴NSApp如果沒有可見窗口,並以「什麼都不做」重新打開的默認方式(YES)(NO)是否有可見的窗口。

雖然這似乎很奇怪,但這應該是默認行爲,除非您的第二個窗口是NSPanel。所以也許這就是你問題的根源?讓我知道這是否有效......很高興通過反饋進行更新。