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

GitHub

点击跳转