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
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