我第一次把脚伸进可可里。
以下是一个简单的问题。OS支持在应用程序终止和重新启动时恢复窗口状态。好的,很好,很好。
但是对于基于文档的应用程序,同样的简历功能是否也可以在文档关闭和重新打开时管理窗口状态的保存,而无需退出应用程序?(换句话说,不管应用程序是否退出,它能否持续地管理每个文件的状态?或者我必须通过保存文档文件中的信息来管理它?)
例如,iWork '09应用程序确实会这样做:如果您关闭保存的文档并重新打开它,它将恢复窗口大小、位置和滚动体位置。我不知道它是否使用Lion的简历本身来实现这一点。
但是,相反,OS的TextEdit在退出和重新启动时恢复窗口,但它不记得当您关闭文档并重新打开它时窗口状态。这让我怀疑,在不退出的情况下使用简历可能是不可能自动实现的(因为页面可能保持其专有文件格式的窗口状态,但TextEdit不使用纯文本、RTF、HTML等文件)。
我还没有访问WWDC 2011视频,并且OS发布说明、OS应用程序编程指南和NSWindowRestoration API文档都没有专门提到这一点。
因此,问题再次提出:关闭并重新打开文档窗口后,自动记住文档窗口的状态,而不退出应用程序(就像iWork那样),...does Lion的恢复支持这个功能吗?
非常感谢!
发布于 2011-09-29 15:00:50
,但对于基于文档的应用程序,同样的简历功能是否也可以在文档关闭和重新打开时管理窗口状态的保存,而无需退出应用程序?(换句话说,不管应用程序是否退出,它能否持续地管理每个文件的状态?
不是没有帮助,不是。
还是我必须通过保存文档文件中的信息来管理它?)
或者其他地方,是的。
我未经测试的建议是自己尝试使用窗口恢复协议。关闭时,请给自己发送encodeRestorableStateWithCoder:,然后将这些数据存储在文档中(或任何您想要的地方)。打开文档时,如果文档具有可恢复的状态信息,则将其传递给restoreStateWithCoder:。
https://stackoverflow.com/questions/7594470
复制相似问题