首页 > 解决方案 > 是否可以使用 Quicklook 在 SwiftUI 中打开 PDF?

问题描述

我正在开发一个集成了必须引用显示 pdf 文件的按钮的应用程序。是否可以使用 QuickLook 做到这一点?

最好的问候,斯特凡诺

标签: pdfswiftuiquicklook

解决方案


这是一些示例代码。

import SwiftUI
import QuickLook
struct PreviewController: UIViewControllerRepresentable {
    let url: URL
    
    func makeUIViewController(context: Context) -> UINavigationController {
        let controller = QLPreviewController()
        controller.dataSource = context.coordinator
     
        let navigationController = UINavigationController(rootViewController: controller)
        return navigationController
    }
    func updateUIViewController(_ uiViewController: UINavigationController, context: Context) {}
    func makeCoordinator() -> Coordinator {
        return Coordinator(parent: self)
    }
    class Coordinator: NSObject, QLPreviewControllerDelegate, QLPreviewControllerDataSource {
        let parent: PreviewController
        init(parent: PreviewController) {
            self.parent = parent
        }
        func numberOfPreviewItems(in controller: QLPreviewController) -> Int {
            return 1
    }
        func previewController(_ controller: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
            return parent.url as NSURL
        }
    }
}

推荐阅读