iOS 上的 UIDocumentInteractionController 与 QLPreviewController

Posted

技术标签:

【中文标题】iOS 上的 UIDocumentInteractionController 与 QLPreviewController【英文标题】:UIDocumentInteractionController vs QLPreviewController on iOS 【发布时间】:2011-11-01 15:51:17 【问题描述】:

任何使用过这两种方法的人都可以评论“有什么区别,什么时候应该使用一种而不是另一种?”在过去的几天里,我一直在将 DocInteraction 示例中的代码改编为我自己的应用程序,我对这两个工具包越熟悉,我发现它们之间的差异就越小:

它们都显示文档 他们都只呈现全屏 它们都有“打开方式”和“打印方式” 他们都可以从屏幕上的小矩形进行缩放

除了工具栏的颜色外,我在它们之间切换时没有看到任何区别。

当然,我遗漏了一些东西(或者其他点有误)。有什么想法吗?

【问题讨论】:

【参考方案1】:

UIDocumentInteractionController 使用 QLPreviewController 来显示。它允许为委托方法提供额外的钩子。

【讨论】:

我要补充一点,虽然 DIC 可以更好地控制控制器本身如何呈现文档,但直接使用 QL 可以让 更好地控制视图如何添加到层次结构,据我估计。我选择了后者,但我仍然保留一个“僵尸”前者来查询图标等。 嗯。我在想它是相反的,因为当我使用 QLPreviewController 并且在点击共享按钮时它崩溃了,它与 [UIDocumentInteractionController setURL:], /SourceCache/UIKit/UIKit-2380.17/UIDocumentInteractionController.m:960

以上是关于iOS 上的 UIDocumentInteractionController 与 QLPreviewController的主要内容,如果未能解决你的问题,请参考以下文章

iOS - iOS 上的以下 LAContext 错误日志是啥意思?

iOS 6 上的allowAirPlayVideo 属性

iOS 14 上的 UICollectionView 列表布局问题

iOS 14 上的 NSNumberFormatter 错误

iOS 13 上的 AVAssetReferenceRestrictions

iOS13 上的 UISearchController 崩溃