NSWindow和全屏

时间:2014-03-17 07:24:30

标签: cocoa nswindow nswindowcontroller

我正在实现一个支持全屏模式的Cocoa应用程序。如果用户在全屏模式下退出,我需要以全屏模式启动应用程序,

启动应用程序时,我会检查应用程序是否应以全屏模式启动,然后在toggleFullScreen:上调用NSWindow。然后,应用程序进入全屏模式,返回到正常窗口模式。

用户可以在工作时进入全屏模式,没有任何问题。关于这个问题的任何提示?

1 个答案:

答案 0 :(得分:1)

确保你真的想要这样做。从Lion开始,您应该使用一个窗口恢复API。有关如何使用它,请参阅Any NSWindowRestoration examples?。需要注意的是,如果在“系统偏好设置”中选中“在退出应用程序时关闭窗口”(默认情况下从10.8开始检查),则只有在用户选择这样做时才能在重新启动时恢复该窗口。

如果用户在退出应用程序期间没有选择在整个操作系统中进行窗口恢复设置,那么通常您不必期望为他们恢复应用程序的窗口。但是,如果你认为你有充分的理由,那么我建议调用toggleFullScreen:在调用windowDidLoad:之后。我只能猜测你过早地调用它并且窗口自动保存可能会妨碍你。如果您展示了相关代码,那将会很有帮助。

无论如何,您应该实现窗口恢复,并且在API恢复窗口的情况下,您根本不做任何事情。