PGImagePicker.gif
1、使用UICollectionView進(jìn)行復(fù)用
2、內(nèi)置了3種樣式,有微博和微信的樣式
3、雙擊放大/還原,單擊返回,雙指粘合縮放,長按保存圖片到相冊
4、可以自定義相薄
長按保存到相冊需要在info.plist中加入以下隱私權(quán)限
<key>NSPhotoLibraryAddUsageDescription</key>
<string>App需要您的同意,才能訪問相冊</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>App需要您的同意,才能訪問相冊</string>
如果相冊權(quán)限被用戶拒絕了,PGImagePicker已經(jīng)設(shè)置好了引導(dǎo)用戶去APP設(shè)置頁面開啟權(quán)限
GitHub地址
https://github.com/xiaozhuxiong121/PGImagePicker
CocoaPods安裝
pod 'PGImagePicker'
使用
let imagePicker = PGImagePicker(currentImageView: tapView, imageViews: imageViews)
present(imagePicker, animated: false, completion: nil)
總共需要傳入兩個參數(shù)。第一個currentImageView
是當(dāng)前的UIImageView
,第二個參數(shù)imageViews
是需要瀏覽的所有圖片的UIImageView
,如果只需要瀏覽一張圖,則參數(shù)imageViews
可以省略
單張圖片預(yù)覽
例如點擊頭像預(yù)覽
let imagePicker = PGImagePicker(currentImageView: tapView)
present(imagePicker, animated: false, completion: nil)
設(shè)置相薄
長按保存到相冊,可以自定義相薄,將圖片保存到自己定義的相薄里面
imagePicker.albumName = "PGImagePicker"
設(shè)置樣式
pageControlType共有3種樣式
樣式1是當(dāng)前微信的樣式,樣式3是當(dāng)前微博的樣式
let imagePicker = PGImagePicker(currentImageView: tapView, pageControlType: .type1, imageViews: imageViews)
present(imagePicker, animated: false, completion: nil)
設(shè)置代理
得到當(dāng)前正在預(yù)覽的圖片
imagePicker.delegate = self
func imagePicker(imagePicker: PGImagePicker, didSelectImageView imageView: UIImageView, didSelectImageViewAt index: Int) {
print("index = ", index)
}
加載網(wǎng)絡(luò)圖片
加載網(wǎng)絡(luò)圖片使用的是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
跟當(dāng)前要預(yù)覽的圖片一致,沒有可以不用設(shè)置