快速查看生成器iOS

有没有办法在iOS上扩展“快速查看框架”来处理像Mac这样的未知文件types? 我不想切换到我的应用程序预览文件,就像查看电子邮件或iMessage中的图像文件。 我想删除必须select什么应用程序来打开文件的步骤。

在Mac上,他们称之为“快速外观生成器”,但是我无法在iOS上find一种方法

现在,如果你想显示一个没有被标准的QLPreviewController处理的types的文件的预览,你必须自己写一些东西在自己的应用程序中。 您不能在Mac上编写自定义Quick Look插件。

这是你如何在iOS中使用Quick Look Framework

Xcode 8.3.2。 Swift 3

首先转到构build阶段并添加新的框架QuickLook.framework链接二进制与库。

接下来在您的ViewController类中导入QuickLook

接下来将QuickLook的委托方法设置为ViewController类,以访问QUickLook.framework的所有方法(见下文)。

class ViewController: UIViewController , QLPreviewControllerDataSource { } 

接下来,在你的类中创buildQLPreviewController的实例,如下所示:

让quickLookController = QLPreviewController()

现在在您的viewdidload方法中设置数据源:

 override func viewDidLoad() { super.viewDidLoad() quickLookController.dataSource = self } 

现在创build一个fileURLs数组来存储所有需要通过委托方法传递给QLPreviewController的文档path。

 var fileURLs = [URL]() 

现在将下面的方法添加到你的类中,告诉QLPreviewController你的文档总数。

 func numberOfPreviewItemsInPreviewController(controller: QLPreviewController) -> Int { return fileURLs.count } func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem { return fileURLs[index] as QLPreviewItem } @available(iOS 4.0, *) func numberOfPreviewItems(in controller: QLPreviewController) -> Int { return fileURLs.count } 

最后是显示你的文档的方法。 您还可以检查您要预览的文档types是否可以预览或不能如下所示。

 func showMyDocPreview(currIndex:Int) { if QLPreviewController.canPreview(fileURLs[currIndex] as QLPreviewItem) { quickLookController.currentPreviewItemIndex = currIndex navigationController?.pushViewController(quickLookController, animated: true) } }