SwiftUI 文件预览和缩略图生成器库
文件预览
SwiftUI 文件预览和缩略图生成器库
使用 Apple 的 QuickLook 框架生成本地文件的缩略图和预览。
安装
Swift Package Manager:
dependencies: [
.package(url: "https://github.com/ntsh/FilePreviews.git", .upToNextMajor(from: "0.1.0"))
]
用法
全屏预览文件:
import FilePreviews
// Then somewhere in your swiftUI view
.fullScreenCover(isPresented: $showPreview) {
PreviewController(url: fileURL, isPresented: $showPreview)
}
创建文件缩略图:
有关示例.swift请参阅缩略图视图:
public struct ThumbnailView: View {
public let url: URL
@StateObject var thumbnailer = Thumbnailer()
public init(url: URL) {
self.url = url
}
public var body: some View {
Group {
if let thumbnail = thumbnailer.thumbnail {
Image(thumbnail, scale: (UIScreen.main.scale), label: Text(thumbnailer.imageLabel))
.resizable()
.scaledToFit()
.aspectRatio(contentMode: .fill)
} else {
Image(systemName: "photo.fill")
.onAppear {
thumbnailer.generateThumbnail(url)
}
}
}
}
}