有没有办法在iOS上扩展Quick Look框架来处理未知文件类型?我不想切换到我的应用程序来预览文件,就像在电子邮件或iMessage中查看图像文件一样。我想删除必须选择使用哪个应用程序来打开文件的步骤。
在苹果电脑上,他们称之为快速外观生成器,但我找不到在iOS上这样做的方法
发布于 2017-10-03 17:15:53
这就是在iOS中使用快速查看框架的方法
Xcode8.3.2.Swift 3
首先,转到构建阶段,并在Link Binary with Libraries下添加新的框架QuickLook.framework。
接下来,在您的ViewController类中导入QuickLook
接下来,将QuickLook的委托方法设置为您的ViewController类,以访问QUickLook.framework的所有方法(见下文)。
class ViewController: UIViewController , QLPreviewControllerDataSource {
}接下来,在您的类中创建QLPreviewController实例,如下所示:
让quickLookController = QLPreviewController()
现在在viewdidload方法中设置数据源:
override func viewDidLoad() {
super.viewDidLoad()
quickLookController.dataSource = self
}现在创建一个fileURL数组来存储稍后需要通过委托方法传递给QLPreviewController的所有文档路径。
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
}最后是显示文档的方法。您还可以检查您要预览的文档类型是否可以预览,如下所示。
func showMyDocPreview(currIndex:Int) {
if QLPreviewController.canPreview(fileURLs[currIndex] as QLPreviewItem) {
quickLookController.currentPreviewItemIndex = currIndex
navigationController?.pushViewController(quickLookController, animated: true)
}
}发布于 2014-03-07 10:53:30
目前,如果您想要显示标准QLPreviewController无法处理的文件类型的预览,则必须在您自己的应用程序中自己编写一些内容。你不能像在Mac上那样编写自定义的Quick Look插件。
https://stackoverflow.com/questions/22240494
复制相似问题