我想在最後一個主窗口關閉時關閉我的應用程序。由於以下原因,我無法使用applicationShouldTerminateAfterLastWindowClosed:
:
1.在顯示主窗口之前,會顯示一個確認窗口,當此窗口關閉時,應用程序不應退出。
2.即使有任何幫助窗口仍然打開,應用程序應在關閉主窗口後退出。最後一個窗口關閉後退出應用程序
1
A
回答
0
你需要做的是設置你控制類作爲你的主窗口的委託,然後使用NSNotificationCenter添加一個觀察者與NSWindowWillCloseNotification與yourWindow作爲對象。所以像這樣的
NSNotificationCenter *c = [NSNotificationCenter defaultCenter];
[c addObserver:self selector:@selector(yourSelector) name:NSWindowWillCloseNotification object:yourWindow];
現在,當主窗口關閉,所以該方法只需要像出口(0)的方法yourSelector將被調用;
欲瞭解更多信息請here看看windowWillClose
13
您仍然可以使用applicationShouldTerminateAfterLastWindowClosed:
寫返回NO
,直到那一刻,你首先顯示在主窗口。從此之後,讓它返回YES
。
NSPanel的實例不計入打開的窗口。因此,如果您的幫助窗口是NSPanel,這將工作。
+0
這可能是一個解決方案,使用通知對我來說更簡單。 – Raviprakash 2011-05-25 08:46:41
相關問題
- 1. 如何在最後一個窗口關閉之前退出應用程序10.6
- 2. 在AppleScript中關閉窗口後退出應用程序
- 3. 最後一個窗口關閉時的散焦應用程序
- 4. 如何退出一個PyGTK的應用程序關閉最後一個窗口之後/銷燬
- 5. 關閉一個窗口,不要退出應用程序
- 6. 後退線程不關閉退出應用程序
- 7. 爲什麼我不能退出應用程序後點擊關閉窗口
- 8. 關閉窗口後關閉可可應用程序
- 9. 當應用程序進入後臺時關閉彈出窗口
- 10. 後退按鈕關閉應用程序
- 11. mvim關閉最後一個選項卡不想關閉窗口
- 12. 如何在窗口關閉時退出MonoMac應用程序?
- 13. java swing關閉窗口無需退出應用程序
- 14. 當窗口關閉時Caliburn.Micro應用程序不會退出
- 15. 主窗體關閉後,應用程序進程不退出 - 使用ApplicationContext
- 16. 調用後關閉彈出窗口
- 17. 在關閉一個後最大化下一個拆分窗口
- 18. Excel窗口在C關閉後關閉Excel應用程序過程
- 19. JVM在swing應用程序退出後不關閉
- 20. 打開和關閉窗口後,WPF應用程序變慢
- 21. 關閉QMessagebox窗口後PyQt應用程序崩潰
- 22. 運行Google腳本網絡應用程序後關閉窗口?
- 23. 關閉窗口後運行應用程序
- 24. 如何在關閉另一個窗口後打開一個彈出窗口?
- 25. 關閉與後退的Android彈出窗口
- 26. QMessageBox提示後,Qt的主窗口退出關閉
- 27. gtk窗口關閉後退出無限循環
- 28. 通過後退按鈕關閉彈出窗口
- 29. 加載後關閉彈出窗口
- 30. 3秒後關閉彈出窗口
我想'[NSApp terminate:self];'比'exit(0)更好;' – Raviprakash 2011-05-25 08:45:29
是的,那就是,我只是給出了一個粗略的例子。 – 2011-05-25 13:06:26