【问题标题】:Programmatically quicklook images in Mac OS X在 Mac OS X 中以编程方式快速查看图像
【发布时间】:2012-10-28 18:33:26
【问题描述】:

我正在 Xcode 中为 Mac OS X 开发一个应用程序,并且我正在尝试实现一个在 Quicklook 模式下打开图像的按钮(例如当您在 Finder 中选择图像并按 时)。

当您单击聊天期间下载的文件旁边的小圆形“眼睛”图标时,我希望它能够像 Mac 版 Skype 一样工作。

关于如何实现这一点的任何建议?

【问题讨论】:

  • 谷歌搜索让我找到了关于如何做到这一点的苹果指南 -developer.apple.com/library/mac/#documentation/UserExperience/…
  • 嗨贾斯汀。我自己也看到了那个文件,但它似乎没有回答我的问题。看起来整个文档都是关于实现 Quick Look 生成器的。对于所有常见的图像类型,已经有了生成器。我想要做的不是实现生成器,而是从我的应用程序内部调用 Quick Look 生成器,而不是通过 Finder。
  • 它描述了如何从文件生成预览图像,而不是将其放置在自己的视图中。对?也许我错过了什么
  • 我不想将预览图像放在我自己的视图中。我希望预览显示在标准 Quicklook 窗口中。它应该与您通过 Skype 通过单击眼睛图标快速查看文件时完全一样。

标签: objective-c xcode macos quicklook


【解决方案1】:

在重新审视这个问题后,我终于找到了一个资源,它引导我朝着解决问题的正确方向前进。

Apple's Quick Look Programming Guide 似乎非常关注生成器的实现,这不是我感兴趣的。本文档似乎没有一节解释如何从应用程序内部显示 QuickLook 预览。但是,我遇到了一个示例项目 (QuickLookDownloader),它很好地说明了它是如何完成的。

您基本上使用应用程序的共享 QLPreviewPanel 对象。您可以通过调用其 makeKeyAndOrderFront: 方法使 QLPreviewPanel 成为关键窗口。然后,您通过 QLPreviewPanelController 协议的方法接受(并释放)QLPreviewPanel。当 QLPreviewPanel 成为键时,在响应者链上响应它的第一个对象上调用这些方法。您还必须实现 QLPreviewPanelDataSource 和 QLPreviewPanelDelegate 协议并将委托分配给 QLPreviewPanel。

需要采取一些步骤,但 QuickLookDownloader 项目示例很好地说明了这一点。

【讨论】:

  • 你知道是否可以在不启动模拟器的情况下启用 QuickLook 吗?
  • 我不确定您所说的“模拟器”是什么意思。不管怎样,我已经很多年没有做这个了,所以我怀疑我能给你任何有用的建议?
  • iOS 模拟器。如果不调出模拟器,可以用QuickLook吗?我当然完全理解。谢谢。
  • 激活 QuickLook 时弹出的窗口(例如,在 Finder 中按文件上的空格时)与 iOS 无关。如果您希望将预览嵌入到应用程序的窗口中,而不是弹出 QuickLook 窗口,我不知道这是否可行。
猜你喜欢
  • 2012-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-22
  • 2015-05-02
  • 2010-10-26
相关资源
最近更新 更多