我正在使用“BSImagePicker”。但我有一个问题 第一次我要在图库中选择 2 个图像,选择 2 个图像返回到我的 viewController 后,我将再次在图库中选择图像,但我看不到所选图像
我想查看相册中刚刚选择的图片。
这是我的 BSImagePicker 方法
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)
任何帮助
最佳答案
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)")
}
关于ios - 使用 BSImagePicker Swift4 在图库中显示刚刚选定的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51305787/