2011-06-01 61 views

回答

8

如果您使用的是默认的Cocoa Application模板,那么您的应用程序委托对MainMenu.xib中的窗口有一个引用。您可以简单地致电

[window makeKeyAndOrderFront:self]; 

或许在一个菜单项触发的IBAction重新打开窗口。注意:确保IB中未选中“关闭时释放”和“一次性”框。

+0

我正在尝试做同样的事情。我使用该模板创建了一个新应用程序。我不完全确定上述内容应该去哪里。它应该在我的AppDelegate类中的某个地方?即使在关闭窗口后,该课程是否继续“运行”? – bugfixr 2011-10-17 12:24:20

+0

是的,是的。您的笔尖中有一个对象是应用程序委托的实例;它在你的程序运行的整个过程中通常是活着的。 – 2011-10-17 17:45:34

+0

感谢您的支持!帮我!我差点忘了makeKeyAndOrderFront方法 – swdev 2013-01-18 09:25:32

6

当然,如果用户关闭一个窗口,他们希望它消失。重新打开他们刚刚关闭的窗户很可能会让他们烦恼。如果你是程序员,不尊重他们的愿望,他们可能会将你的程序转移到垃圾桶而不尊重你的程序。

如果您想要关闭主窗口,请禁用关闭按钮。您可以在Window属性检查器的界面生成器中轻松完成此操作。

+7

警告通常是健全的,但我不确定问题是“我怎样才能让用户的手指不让窗户关闭?”我认为它是“用户可能需要在关闭它之后重新显示窗口,我该怎么做?” (有关此行为的信息,请参阅活动监视器等) - 有一个菜单项会在关闭主应用程序窗口后返回。) – 2011-06-01 20:29:55

+0

我不是试图将窗口推送给用户。我试图以编程方式触发它,他们点击一个按钮后会说“打开”。 – 2011-06-21 12:45:34

+0

我同意杰里米,但苹果没有。我认为他们的HIG要求有点不合理,但是如果我希望他们在App Store中发布我的东西,那么在他们决定调用HIG指南的时候(例如在提交意味着修复其他先前批准的应用程序中的实际错误的情况下) ,那么你可以选择awakeFromNib或gtfo,我猜。在我的最后一轮与他们在一起的时候,我的眼睛里充满了愤怒的泪水。但是,他们赢了。我想要在App Store中比我想要的更多。 – 2017-03-01 01:05:06

相关问题