I'm using 'BSImagePicker'.but I have a problem first time i am going to select 2 images in gallery, after selecting 2 images returning to my viewController ,again i am going to select image in gallery but i can't see selected images
I want to see just selected picture in albums.
this is my BSImagePicker method
let vc = BSImagePickerViewController()
vc.maxNumberOfSelections = 2
vc.takePhotos = true
bs_presentImagePickerController(vc, animated: true,
select: { (asset: PHAsset) -> Void in
print("Selected: \(asset)")
}, deselect: { (asset: PHAsset) -> Void in
print("Deselected: \(asset)")
}, cancel: { (assets: [PHAsset]) -> Void in
print("Cancel: \(assets)")
}, finish: { (assets: [PHAsset]) -> Void in
print("Finish: \(assets)")
print(assets.count)
for i in 0..<assets.count {
self.SelectedAssets.append(assets[i])
print(self.SelectedAssets)
}
}, completion: nil)
Any help
var arrSelectedPics : [Any] = []
var SelectedAssets = [PHAsset]()
var PhotoArray: [Data] = []
// for only photo upload
func photoUpload(){
// create an instance
let vc = BSImagePickerViewController()
//display picture gallery
self.bs_presentImagePickerController(vc, animated: true,
select: { (asset: PHAsset) -> Void in
}, deselect: { (asset: PHAsset) -> Void in
// User deselected an assets.
}, cancel: { (assets: [PHAsset]) -> Void in
// User cancelled. And this where the assets currently selected.
}, finish: { (assets: [PHAsset]) -> Void in
// User finished with these assets
for i in 0..<assets.count
{
self.SelectedAssets.append(assets[i])
let resource = PHAssetResource.assetResources(for: assets[i]).first
let name = resource?.originalFilename
let PicsLocalPath = URL(fileURLWithPath: NSTemporaryDirectory()).appendingPathComponent(name!)
print("----------------PicsLocalPath-------------",PicsLocalPath)
self.arrSelectedPics.append(PicsLocalPath)
}
self.convertAssetToImages()
print("----------------assets-------------",self.arrSelectedPics)}, completion: nil)
}
// convert assets to images
func convertAssetToImages() -> Void {
if SelectedAssets.count != 0{
for i in 0..<SelectedAssets.count{
let manager = PHImageManager.default()
let option = PHImageRequestOptions()
var thumbnail = UIImage()
option.isSynchronous = true
manager.requestImage(for: SelectedAssets[i], targetSize: CGSize(width: 200, height: 200), contentMode: .aspectFill, options: option, resultHandler: {(result, info)->Void in
thumbnail = result!
})
let data = thumbnail.jpegData(compressionQuality: 1)
self.PhotoArray.append(data!)
}
}
//final images array
print("complete photo array \(self.PhotoArray)")
}