Swift 3 Cocoa:使用QuickLook在OS X中预览文件

时间:2017-05-09 21:44:05

标签: swift xcode macos quicklook

Xcode 8.3.2我在命令列表中找不到QLPreviewPanel,我不知道如何操作(必须使用哪个命令)才能在ViewController中显示文件预览。

1 个答案:

答案 0 :(得分:4)

首先,您需要将import Quartz语句添加到NSViewCOntroller。第二步是在其声明中添加QLPreviewPanelDataSource, QLPreviewPanelDelegate。接下来,您只需要获取共享QLPreviewPanel的引用,使视图控制器为dataSourcedelegate,并使其窗口键和顺序排在前面。

您还需要将numberOfPreviewItems和previewItemAt方法添加到控制器中。你可以这样做:

import Quartz

class ViewController: NSViewController,  QLPreviewPanelDataSource, QLPreviewPanelDelegate {

    @IBAction func button(_ sender: NSButton) {
        if let sharedPanel = QLPreviewPanel.shared() {
            sharedPanel.delegate = self
            sharedPanel.dataSource = self
            sharedPanel.makeKeyAndOrderFront(self)
        }
    }

    func numberOfPreviewItems(in panel: QLPreviewPanel!) -> Int {
        return 1
    }

    func previewPanel(_ panel: QLPreviewPanel!, previewItemAt index: Int) -> QLPreviewItem! {
        let url = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!.appendingPathComponent("yourImageAtTheDocs.png")
        return url as QLPreviewItem
    }
}