pdf - 是否可以使用 Quicklook 在 SwiftUI 中打开 PDF?
问题描述
我正在开发一个集成了必须引用显示 pdf 文件的按钮的应用程序。是否可以使用 QuickLook 做到这一点?
最好的问候,斯特凡诺
解决方案
这是一些示例代码。
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
}
}
}
推荐阅读
- tensorflow - ValueError:无法为张量“ResizeBilinear:0”提供形状(1、26、38、3)的值,其形状为“(1、299、299、3)”
- python - 使用 Python Pandas 连接两个具有范围条件的表
- android - 使用 android fillType = evenOdd 绘制的破碎矢量
- php - 在 Ruby on Rails 中将 PHP 转换为 ERB
- android - Firebase:子事件侦听器似乎会重新加载添加的每个子对象的所有数据
- amazon-s3 - Airflow S3Hook 对象没有属性 load_bytes
- vbscript - 从具有特定值的 Parent 下的 XML 文件中获取子节点的计数
- python - Python中的字符串对象表示
- java - 为什么我在java中有这个错误
- python - 最小化权重矩阵 Keras 中非零元素的数量