我想在最后一个主窗口关闭时关闭我的应用程序。我无法使用applicationShouldTerminateAfterLastWindowClosed:
,原因如下:
1. 在显示主窗口之前,会显示一个确认窗口,当此窗口关闭时,应用程序不应退出。
2. 关闭主窗口后应用程序应该退出,即使有任何帮助窗口仍然打开。
问问题
2610 次
2 回答
13
你仍然可以使用applicationShouldTerminateAfterLastWindowClosed:
将其写入返回NO
,直到您第一次显示主窗口。让它YES
从那时起返回。
NSPanel 的实例不计入打开的窗口。因此,如果您的帮助窗口是 NSPanel,这将起作用。
于 2011-05-25T08:20:51.350 回答
0
您需要做的是将您的控制类设置为主窗口的委托,然后使用 NSNotificationCenter 添加一个观察者,其中 NSWindowWillCloseNotification 以 yourWindow 为对象。所以像这样
NSNotificationCenter *c = [NSNotificationCenter defaultCenter];
[c addObserver:self selector:@selector(yourSelector) name:NSWindowWillCloseNotification object:yourWindow];
现在,方法 yourSelector 将在主窗口关闭时被调用,所以在该方法中只有类似 exit(0); 的内容。
有关更多信息,请转到此处并查看 windowWillClose
于 2011-05-25T07:10:28.983 回答