我已经检查了我的 NSWindow 上的可恢复选项当我移动我的应用程序并更改其大小并关闭/重新打开我的应用程序时,它会将窗口大小和位置设置为最后的大小和位置
但这不会发生在我测试它的每台计算机上。它只发生在几台电脑上
他们没有关于简历的特殊设置。
有没有人有这方面的经验?
我已经检查了我的 NSWindow 上的可恢复选项当我移动我的应用程序并更改其大小并关闭/重新打开我的应用程序时,它会将窗口大小和位置设置为最后的大小和位置
但这不会发生在我测试它的每台计算机上。它只发生在几台电脑上
他们没有关于简历的特殊设置。
有没有人有这方面的经验?
但这不会发生在我测试它的每台计算机上。它只发生在少数计算机上。他们没有关于简历的特殊设置。
事实上,他们确实如此。查看“系统偏好设置”>“常规”窗格。应该有一个名为“退出应用程序时关闭窗口”的选项负责恢复行为。此外,在 OS X Mountain Lion 中,Apple 更改了默认行为,现在该应用程序仅在您使用 Command-Option-Q 退出时恢复其状态。
因此,您可能应该检查在另一台 Mac 上安装了哪个 OS X 版本,以及在“常规”窗格中选择了哪个首选项。希望这可以帮助!
您应该知道的一件事是检查 IB 中的“可恢复”选项只会更改窗口属性。实际的恢复和保存在您手中。
首先,您必须遵守NSWindowDelegate
协议并实现对
窗口属性进行编码和解码的方法-window:willEncodeRestorableState:state
和-window:didDecodeRestorableState:
方法(例如,您显然可以通过调用获得的窗口框架[myWindow frame]
)。
您还需要遵守NSWindowRestoration
协议并实施+restoreWindowWithIdentifier:state:completionHandler:
. (确保您使用该setRestorationClass
方法将您的课程设置为恢复课程)
如需更多、更深入的信息,您可以在此处访问此 Apple 文档文档。
如果您只想恢复窗口的框架,请使用setFrameAutosaveName:
.