PGImagePicker
类似于微博、微信的多图浏览/查看
Install / Use
/learn @xiaozhuxiong121/PGImagePickerREADME

PGImagePicker
1、使用UICollectionView进行复用
2、内置了3种样式,有微博和微信的样式
3、双击放大/还原,单击返回,双指粘合缩放,长按保存图片到相册
4、可以自定义相薄
长按保存到相册需要在info.plist中加入以下隐私权限
<key>NSPhotoLibraryAddUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能访问相册</string>
如果相册权限被用户拒绝了,PGImagePicker已经设置好了引导用户去APP设置页面开启权限
CocoaPods安装
pod 'PGImagePicker'
使用
let imagePicker = PGImagePicker(currentImageView: tapView, imageViews: imageViews)
present(imagePicker, animated: false, completion: nil)
总共需要传入两个参数。第一个currentImageView是当前的UIImageView,第二个参数imageViews是需要浏览的所有图片的UIImageView ,如果只需要浏览一张图,则参数imageViews可以省略
单张图片预览
例如点击头像预览
let imagePicker = PGImagePicker(currentImageView: tapView)
present(imagePicker, animated: false, completion: nil)
设置相薄
长按保存到相册,可以自定义相薄,将图片保存到自己定义的相薄里面
imagePicker.albumName = "PGImagePicker"
设置样式
pageControlType共有3种样式 样式1是当前微信的样式,样式3是当前微博的样式
let imagePicker = PGImagePicker(currentImageView: tapView, pageControlType: .type1, imageViews: imageViews)
present(imagePicker, animated: false, completion: nil)
设置代理
得到当前正在预览的图片
imagePicker.delegate = self
func imagePicker(imagePicker: PGImagePicker, didSelectImageView imageView: UIImageView, didSelectImageViewAt index: Int) {
print("index = ", index)
}
加载网络图片
加载网络图片使用的是Kingfisher框架
引入pod
pod 'PGImagePickerKingfisher'
使用
let imagePicker = PGImagePickerKingfisher(currentImageView: tapView, imageViews: imageViews)
imagePicker.imageUrls = self.imageUrls
imagePicker.indicatorType = .activity
imagePicker.placeholder = UIImage(named: "projectlist_06")
present(imagePicker, animated: false, completion: nil)
imageUrls是图片需要加载的url地址
indicatorType、placeholder跟当前要预览的图片一致,没有可以不用设置
许可证
PGImagePicker 使用 MIT 许可证,详情见 LICENSE 文件。
Related Skills
node-connect
340.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
84.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
340.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
84.2kCommit, push, and open a PR
