swift - 如何判断 NSWindow 是否被用于浏览文档版本(版本浏览器 UI 右侧)

标签 swift cocoa nswindow nsdocument versions

OS X 文档版本浏览器(从"file">“恢复到”>“浏览所有版本”进入)在左侧显示当前版本,在右侧显示旧版本堆栈。

左侧的窗口 Controller 会收到通知,让您知道它正在进入/退出版本浏览模式。左侧的文档也返回 true。响应 isBrowsingVersions

但我不知道如何判断我的窗口何时被用来显示一个实际版本(左侧的堆栈)。这些窗口不会收到进入/退出通知,并且它们的文档不会对 false isBrowsingVersions` 做出响应。在版本浏览器 UI 中确定窗口是否用于显示旧版本文档的推荐方法是什么?

目前我发现的两种方法是:

  1. NSDocumentController.documents 似乎不包含那些浏览版本文档。

  2. 浏览过的版本文档 fileURL 以 file:///.DocumentRevisions 开头。

是否有更好、更受支持/更直接的方法来确定我的窗口是否正在浏览旧文档版本?在这种情况下,我需要更改一些 UI 行为。

最佳答案

发帖几分钟后,我才明白这一点。答案是右侧的文档在询问 isInViewingMode 时将返回 true

关于swift - 如何判断 NSWindow 是否被用于浏览文档版本(版本浏览器 UI 右侧),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49013320/

相关文章:

objective-c - 有什么方法可以监控 Mac 上的新应用程序安装事件吗?

objective-c - 从 cocoa mac osx 的根文件夹中删除文件

objective-c - AppDelegate (OSX) 中主 NSWindow 的引用导出

swift - 我可以一次扩展多个整数类型以从字节数组初始化吗?

IOS,如何创建一个像这样的中心选项卡式可滚动 TableView

swift - 如何在 macOS Big Sur 上从 LoginItem 运行主应用程序

python - XCode 3.2 Ruby 和 Python 模板

macos - 设置 NSWindow 的初始大小

cocoa - 使NSPanel中的NSView成为无关键窗口状态的第一响应者

swift 。无法使用 Google Drive API 从个人 Google Drive 接收信息