我正在使用 QBImagePickerController用于一次选择多张图像。
所以,这是我的全部代码
我用这段代码呈现 imagepickerController
let imagePickerController = QBImagePickerController()
imagePickerController.delegate = self
imagePickerController.allowsMultipleSelection = true
imagePickerController.mediaType = .Image
self.presentViewController(imagePickerController, animated:
true, completion: nil)
所以当我选择多张图片并点击完成时,这个方法调用
func qb_imagePickerController(imagePickerController: QBImagePickerController!, didFinishPickingAssets assets: [AnyObject]!) {
for asset in assets {
print(asset.fileName)
}
self.dismissViewControllerAnimated(true, completion: nil)
}
例如,我选择一张图片然后打印成这样
<PHAsset: 0x7fc55d954500> 6006CE57-81FE-4DC0-8C52-5DB43CE7638D/L0/001 mediaType=1/0, sourceType=1, (1920x1080), creationDate=2016-05-26 09:15:34 +0000, location=0, hidden=0, favorite=0
我如何从中获取图像并将其设置到 collectionview 中?
我从中获取文件名,但不值得从中设置图像。
我使用 filePathURL、fileURL、absoluteURL 但什么都没发生它崩溃了
所以请帮助我
谢谢
最佳答案
您需要使用requestImageForAsset
来获取UIImage
。
你可以这样得到图像
func qb_imagePickerController(imagePickerController: QBImagePickerController!, didFinishPickingAssets assets: [AnyObject]!) {
let requestOptions = PHImageRequestOptions()
requestOptions.resizeMode = PHImageRequestOptionsResizeMode.Exact
requestOptions.deliveryMode = PHImageRequestOptionsDeliveryMode.HighQualityFormat
// this one is key
requestOptions.synchronous = true
for asset in assets
{
if (asset.mediaType == PHAssetMediaType.Image)
{
PHImageManager.defaultManager().requestImageForAsset(asset as! PHAsset, targetSize: PHImageManagerMaximumSize, contentMode: PHImageContentMode.Default, options: requestOptions, resultHandler: { (pickedImage, info) in
self.yourImageview.image = pickedImage // you can get image like this way
})
}
}
imagePickerController.dismissViewControllerAnimated(true, completion: nil)
}
关于ios - 可以从库的PHAsset中获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41339964/