如何在新窗口显示后关闭当前窗口
问题描述:
在当前的NSWindowController中,添加一个子窗口(mainViewController.window),然后关闭当前窗口,但当调用方法[self.window close]时,应用程序终止(不是崩溃,因为我可以获取日志消息窗体方法windowWillClose);如何在新窗口显示后关闭当前窗口
[self.window addChildWindow:mainViewController.window ordered:NSWindowAbove];
[self.window close];
我想要的是:关闭当前窗口,当一个新窗口显示。是我的方式错了吗?
=================================== UPDATE ========== ==========================
谢谢@rdelmar,我的错误,应用程序没有终止,只是所有的窗户关闭。
[self.window orderFront:mainViewController.window];
[self.window close];
答
如果您想在打开另一个窗口时关闭一个窗口,则不应将第二个窗口设置为第一个窗口的子窗口。当你关闭一个子窗口的父窗口时,子窗口也会关闭。您可以在代码中创建一个新窗口,然后使用orderFront或makeKeyAndOrderFront:将其显示在屏幕上,然后关闭另一个窗口。您也可以在IB中添加另一个窗口,并取消选中Visible At Launch,以便在您调用上述方法之一时显示。
您确定应用程序已终止,或只是所有的窗户都关闭了吗?应用菜单是否仍然可见? – rdelmar 2012-07-24 04:03:02
@ rdelmar谢谢,我发现它只是所有的窗户都关闭了。 – Mil0R3 2012-07-24 04:11:58