8

我已经检查了我的 NSWindow 上的可恢复选项当我移动我的应用程序并更改其大小并关闭/重新打开我的应用程序时,它会将窗口大小和位置设置为最后的大小和位置

但这不会发生在我测试它的每台计算机上。它只发生在几台电脑上

他们没有关于简历的特殊设置。

有没有人有这方面的经验?

4

3 回答 3

26

但这不会发生在我测试它的每台计算机上。它只发生在少数计算机上。他们没有关于简历的特殊设置。

事实上,他们确实如此。查看“系统偏好设置”>“常规”窗格。应该有一个名为“退出应用程序时关闭窗口”的选项负责恢复行为。此外,在 OS X Mountain Lion 中,Apple 更改了默认行为,现在该应用程序仅在您使用 Command-Option-Q 退出时恢复其状态。

因此,您可能应该检查在另一台 Mac 上安装了哪个 OS X 版本,以及在“常规”窗格中选择了哪个首选项。希望这可以帮助!

于 2012-10-15T11:11:52.643 回答
5

您应该知道的一件事是检查 IB 中的“可恢复”选项只会更改窗口属性。实际的恢复和保存在您手中。

首先,您必须遵守NSWindowDelegate协议并实现对 窗口属性进行编码和解码的方法-window:willEncodeRestorableState:state-window:didDecodeRestorableState: 方法(例如,您显然可以通过调用获得的窗口框架[myWindow frame])。

您还需要遵守NSWindowRestoration协议并实施+restoreWindowWithIdentifier:state:completionHandler:. (确保您使用该setRestorationClass方法将您的课程设置为恢复课程)

如需更多、更深入的信息,您可以在此处访问此 Apple 文档文档

于 2012-10-10T19:10:35.050 回答
2

如果您只想恢复窗口的框架,请使用setFrameAutosaveName:.

https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/WinPanel/Tasks/SavingWindowPosition.html

于 2016-08-25T04:08:25.943 回答