我想用编程方式在用户使用X按钮关闭Cocoa应用程序的主窗口后重新打开它。 我知道它仍然在记忆中,但我不知道在哪里。Cocoa:用X关闭程序后显示主窗口
回答
如果您使用的是默认的Cocoa Application模板,那么您的应用程序委托对MainMenu.xib中的窗口有一个引用。您可以简单地致电
[window makeKeyAndOrderFront:self];
或许在一个菜单项触发的IBAction
重新打开窗口。注意:确保IB中未选中“关闭时释放”和“一次性”框。
当然,如果用户关闭一个窗口,他们希望它消失。重新打开他们刚刚关闭的窗户很可能会让他们烦恼。如果你是程序员,不尊重他们的愿望,他们可能会将你的程序转移到垃圾桶而不尊重你的程序。
如果您想要关闭主窗口,请禁用关闭按钮。您可以在Window属性检查器的界面生成器中轻松完成此操作。
警告通常是健全的,但我不确定问题是“我怎样才能让用户的手指不让窗户关闭?”我认为它是“用户可能需要在关闭它之后重新显示窗口,我该怎么做?” (有关此行为的信息,请参阅活动监视器等) - 有一个菜单项会在关闭主应用程序窗口后返回。) – 2011-06-01 20:29:55
我不是试图将窗口推送给用户。我试图以编程方式触发它,他们点击一个按钮后会说“打开”。 – 2011-06-21 12:45:34
我同意杰里米,但苹果没有。我认为他们的HIG要求有点不合理,但是如果我希望他们在App Store中发布我的东西,那么在他们决定调用HIG指南的时候(例如在提交意味着修复其他先前批准的应用程序中的实际错误的情况下) ,那么你可以选择awakeFromNib或gtfo,我猜。在我的最后一轮与他们在一起的时候,我的眼睛里充满了愤怒的泪水。但是,他们赢了。我想要在App Store中比我想要的更多。 – 2017-03-01 01:05:06
- 1. 如何在可可中关闭后重新显示主窗口?
- 2. 关闭窗口后关闭可可应用程序
- 3. 如何在新窗口显示后关闭当前窗口
- 4. Errorprovider在使用窗口关闭按钮(X)时显示错误
- 5. 从winforms应用程序的子窗体中关闭主窗口
- 6. Selenium:弹出窗口关闭后用户切换到主窗口
- 7. 窗口在创建(并显示)后,立即关闭sepatarted线程
- 8. 用Xlib关闭应用程序窗口
- 9. 如何关闭主窗口
- 10. C#/。NET:关闭主窗口
- 11. 显示消息框,同时通过使用窗口关闭选项(X)关闭该窗口
- 12. 最后一个窗口关闭后退出应用程序
- 13. 关闭窗口应用程序
- 14. 关闭应用程序的窗口(OSX)
- 15. 的OpenCV - 关闭图像显示窗口
- 16. QMessageBox提示后,Qt的主窗口退出关闭
- 17. 使用Cocoa在辅助显示器上显示os x窗口全屏
- 18. Window.Show()显示新窗口,然后消失在主窗口后
- 19. 为什么我的应用程序在关闭主窗口后仍然运行?
- 20. Response.End()之后关闭窗口?
- 21. 模拟后关闭窗口
- 22. 在Response.End后关闭窗口
- 23. Mac OS X Cocoa单窗口应用程序体系结构
- 24. 无关闭窗口的关闭窗口
- 25. 如果主窗口在Web应用程序中关闭,关闭子窗口是否合理?
- 26. 主窗体关闭后WPF应用程序未被卸载
- 27. 关闭Chrome应用程序窗口关闭Websocket
- 28. PyQt窗口关闭关闭整个应用程序
- 29. 在浏览器窗口关闭前显示jQuery弹出窗口
- 30. 哪个窗口字体显示窗口关闭按钮?
我正在尝试做同样的事情。我使用该模板创建了一个新应用程序。我不完全确定上述内容应该去哪里。它应该在我的AppDelegate类中的某个地方?即使在关闭窗口后,该课程是否继续“运行”? – bugfixr 2011-10-17 12:24:20
是的,是的。您的笔尖中有一个对象是应用程序委托的实例;它在你的程序运行的整个过程中通常是活着的。 – 2011-10-17 17:45:34
感谢您的支持!帮我!我差点忘了makeKeyAndOrderFront方法 – swdev 2013-01-18 09:25:32