jos*_*hoi 6 macos cocoa restore document-based osx-lion
我第一次将自己的脚浸入Cocoa.
这是一个简单的问题.OS X Lion支持在终止并重新启动应用程序时恢复窗口状态.好的,好的和好的.
但对于基于文档的应用程序,相同的 Resume功能是否也可以管理文档关闭时的窗口状态保存,以及稍后重新打开但是没有退出应用程序?(换句话说,无论应用程序是否退出,它是否可以持久管理每个文件的状态?或者我是否必须通过将信息保存在文档的文件中来自行管理?)
例如,iWork '09应用程序会执行此类操作:如果您关闭已保存的文档并重新打开它,它将恢复窗口大小,位置和滚动条位置.我不知道它是否使用Lion的Resume本身.
但是,相比之下,OS X Lion的TextEdit在退出并重新启动时会恢复窗口,但是当您关闭文档并重新打开它时,它不会记住窗口状态.这让我怀疑在没有退出的情况下使用Resume可能无法自动执行(因为Pages可能会以其专有文件格式保持窗口状态,但TextEdit不会,因为它使用纯文本,RTF,HTML等文件).
我还没有访问WWDC 2011视频,OS X发行说明,OS X应用程序编程指南和NSWindowRestoration API文档都没有具体谈到这一点.
所以问题再次出现:在关闭并重新打开文档窗口后自动记住文档窗口的状态而不退出应用程序(如iWork那样)...... Lion的Restore还支持这个吗?
非常感谢!
但对于基于文档的应用程序,相同的“恢复”功能是否还可以在关闭文档并稍后重新打开但不退出应用程序时管理窗口状态的保存?(换句话说,无论应用程序是否退出,它都可以持续管理每个文件的状态吗?
不是没有帮助,不是。
或者我是否必须通过将信息保存在文档的文件中来自行管理?)
或者其他地方,是的。
我未经测试的建议是尝试自己使用窗口恢复协议。关闭时,发送给自己encodeRestorableStateWithCoder:,然后将该数据存储在您的文档中(或您想要的任何位置)。打开文档时,如果它具有可恢复的状态信息,请将其传递给restoreStateWithCoder:.
| 归档时间: |
|
| 查看次数: |
630 次 |
| 最近记录: |