首页 >Swift

【Swift】类似于微博、微信的多图浏览

2017-10-11 14:40 编辑: 四门三连 分类:Swift 来源:294194253
  • 本文为CocoaChina网友294194253投稿

PGImagePicker.gif

1、使用UICollectionView进行复用

2、内置了3种样式,有微博和微信的样式

3、双击放大/还原,单击返回,双指粘合缩放,长按保存图片到相册

4、可以自定义相薄

长按保存到相册需要在info.plist中加入以下隐私权限

NSPhotoLibraryAddUsageDescriptionApp需要您的同意,才能访问相册NSPhotoLibraryUsageDescriptionApp需要您的同意,才能访问相册

如果相册权限被用户拒绝了,PGImagePicker已经设置好了引导用户去APP设置页面开启权限

GitHub地址

https://github.com/xiaozhuxiong121/PGImagePicker

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跟当前要预览的图片一致,没有可以不用设置

搜索CocoaChina微信公众号:CocoaChina
微信扫一扫
订阅每日移动开发及APP推广热点资讯
公众号:
CocoaChina
我要投稿   收藏文章
上一篇:TIOBE 10 月编程语言排行榜:Swift 正过时?
下一篇:Swift教程,一个类似于微博、微信的ActionSheet
我来说两句
发表评论
您还没有登录!请登录注册
所有评论(0

综合评论

相关帖子

sina weixin mail 回到顶部