LBJImagePreviewer
是一个在 SwiftUI 框架下实现的图片预览器。
使用 Swift Package Manager 安装:
https://github.com/Lebron1992/LBJImagePreviewer
File / Add Packages
UIImage
预览 UIImage
:
let uiImage = UIImage(named: "lebron")!
LBJUIImagePreviewer(uiImage: uiImage)
Image
预览 Image
:
// 需要传入 `Image` 的宽高比
LBJImagePreviewer(content: Image(uiImage: uiImage), aspectRatio: 2 / 3)
预览 Gif 动态图:
LBJGIFImagePreviewer(imageNamed: "lebron")
if let url = Bundle.main.url(forResource: "lebron", withExtension: "gif"),
let data = try? Data(contentsOf: url) {
LBJGIFImagePreviewer(imageData: data)
}
View
如果你不是直接通过 UIImage
或者 Image
来显示图片,你可以预览任意 View
。例如预览一个红色背景:
LBJViewZoomer<Color>(content: .red, aspectRatio: 1)
指定当用户双击图片时的放大倍数,默认是 3
:
LBJUIImagePreviewer(uiImage: uiImage, doubleTapScale: 5)
LBJImagePreviewer(content: Image(uiImage: uiImage), aspectRatio: 2 / 3, doubleTapScale: 5)
指定最大放大倍数,默认是 16
:
LBJUIImagePreviewer(uiImage: uiImage, maxScale: 20)
LBJImagePreviewer(content: Image(uiImage: uiImage), aspectRatio: 2 / 3, maxScale: 20)
设置消失时是否重置倍数,默认是 true
:
LBJUIImagePreviewer(uiImage: uiImage, maxScale: 20)
.resetScaleOnDisappear(true)
LBJImagePreviewer(content: Image(uiImage: uiImage), aspectRatio: 2 / 3, maxScale: 20)
.resetScaleOnDisappear(false)
ScrollView
无法手动设置 contentOffset
,等待 ScrollView
更新以解决这个问题。)请使用 GitHub issues。
link |
Stars: 16 |
Last commit: 2 years ago |
Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics