1

I have two questions about the QLPreviewPanel in macOS project(swiftUI Framework) first, i want to hide navigation item in QLPreviewPanel here is my code

class QLCoordinator: NSViewController, QLPreviewPanelDataSource {

var url:NSURL = NSURL(fileURLWithPath: "")

override func viewDidLoad() {
    super.viewDidLoad()
    
}

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

func previewPanel(_ panel: QLPreviewPanel!, previewItemAt index: Int) -> QLPreviewItem! {
    return url as QLPreviewItem
}

override func acceptsPreviewPanelControl(_ panel: QLPreviewPanel!) -> Bool {
    return false
}

override func beginPreviewPanelControl(_ panel: QLPreviewPanel!) {
    panel.dataSource = self
    panel.delegate = self
    
}

override func endPreviewPanelControl(_ panel: QLPreviewPanel!) {
    
}
}

and Result is

enter image description here

i want to remove top items

And When you click on the data in the List, the preview is called through this view. Click on another data changes the preview data in the previously called view. I want to be called in a new view, not an existing one, when I click on other data.

Here is my Code

let qlCoordinator = QLCoordinator()
                qlCoordinator.url = NSURL(fileURLWithPath: url.path)
                if let panel = QLPreviewPanel.shared() {
                    panel.dataSource = qlCoordinator
                    if !panel.isVisible {
                        panel.center()
                        panel.makeKeyAndOrderFront(nil)
                        panel.updateController()
                    }
                    panel.reloadData()
                }

Please Help me! Thanks

Dávid Pásztor
  • 51,403
  • 9
  • 85
  • 116
Jun
  • 41
  • 4

0 Answers0