2017-05-09 11 views

答えて

0

まず、import Quartzの文をNSViewCOntrollerに追加する必要があります。第2のステップは、その宣言に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 
    } 
} 
+0

ありがとうございます。私は挿入: インポートココア インポートクイックルックインポート石英 とクラスのViewControllerより:NSViewController、NSCollectionViewDelegate、NSCollectionViewDataSource、QLPreviewPanelDataSource、QLPreviewPanelDelegate {.... および他の命令。プレビューを呼び出すためのボタンがあります。このボタンは、SecondViewControllerという名前の新しいView Controllerを開いてメインのストーリーボードに表示モードで表示します。 SecondViewController.swiftにコードを挿入する必要がありますか? – eniware

関連する問題