首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速查看生成器iOS

快速查看生成器iOS
EN

Stack Overflow用户
提问于 2014-03-07 10:49:16
回答 2查看 2.7K关注 0票数 4

有没有办法在iOS上扩展Quick Look框架来处理未知文件类型?我不想切换到我的应用程序来预览文件,就像在电子邮件或iMessage中查看图像文件一样。我想删除必须选择使用哪个应用程序来打开文件的步骤。

在苹果电脑上,他们称之为快速外观生成器,但我找不到在iOS上这样做的方法

EN

回答 2

Stack Overflow用户

发布于 2017-10-03 17:15:53

这就是在iOS中使用快速查看框架的方法

Xcode8.3.2.Swift 3

首先,转到构建阶段,并在Link Binary with Libraries下添加新的框架QuickLook.framework

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

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

代码语言:javascript
复制
class ViewController: UIViewController , QLPreviewControllerDataSource {
    }

接下来,在您的类中创建QLPreviewController实例,如下所示:

让quickLookController = QLPreviewController()

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

代码语言:javascript
复制
override func viewDidLoad() {
        super.viewDidLoad()

        quickLookController.dataSource = self
}

现在创建一个fileURL数组来存储稍后需要通过委托方法传递给QLPreviewController的所有文档路径。

代码语言:javascript
复制
var fileURLs = [URL]()

现在,将以下方法添加到您的类中,以告知QLPreviewController您的文档总数。

代码语言:javascript
复制
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
        }

最后是显示文档的方法。您还可以检查您要预览的文档类型是否可以预览,如下所示。

代码语言:javascript
复制
func showMyDocPreview(currIndex:Int) {

        if QLPreviewController.canPreview(fileURLs[currIndex] as QLPreviewItem) {
            quickLookController.currentPreviewItemIndex = currIndex
            navigationController?.pushViewController(quickLookController, animated: true)
        }
    }
票数 2
EN

Stack Overflow用户

发布于 2014-03-07 10:53:30

目前,如果您想要显示标准QLPreviewController无法处理的文件类型的预览,则必须在您自己的应用程序中自己编写一些内容。你不能像在Mac上那样编写自定义的Quick Look插件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22240494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档