1
Xcode 8.3.2我在命令列表中找不到QLPreviewPanel,我不知道該怎麼做(必須使用哪個命令)來顯示文件預覽在ViewController中。Swift 3 Cocoa:使用QuickLook預覽OS X中的文件
Xcode 8.3.2我在命令列表中找不到QLPreviewPanel,我不知道該怎麼做(必須使用哪個命令)來顯示文件預覽在ViewController中。Swift 3 Cocoa:使用QuickLook預覽OS X中的文件
首先,您需要將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
}
}
謝謝你的幫助。我插入: 進口可可 進口QuickLook的 進口石英 比 類的ViewController:NSViewController,NSCollectionViewDelegate,NSCollectionViewDataSource,QLPreviewPanelDataSource,QLPreviewPanelDelegate {.... 和其他指令。我有一個按鈕來調用預覽。此按鈕以show模式打開一個新的視圖控制器,稱爲SecondViewController並存在於主故事板中。我需要在SecondViewController.swift中插入代碼嗎? – eniware