Xcode 8.3.2我在命令列表中找不到QLPreviewPanel,我不知道如何操作(必须使用哪个命令)才能在ViewController中显示文件预览。
答案 0 :(得分:4)
首先,您需要将import Quartz
语句添加到NSViewCOntroller
。第二步是在其声明中添加QLPreviewPanelDataSource, QLPreviewPanelDelegate
。接下来,您只需要获取共享QLPreviewPanel的引用,使视图控制器为dataSource
和delegate
,并使其窗口键和顺序排在前面。
您还需要将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
}
}