ios - 可以从库的PHAsset中获取图像

标签 ios swift phasset

我正在使用 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/

相关文章:

IOS SWIFT 4 使用区域设置将字符串转换为十进制

ios - 如何在iOS中使用PHAsset获取图像的纬度和经度?

ios - iPhone/iOS isEqualToString 总是返回 false

ios - iOS 7 中的自定义字体

ios - 如何为 'animated: true' 添加完成处理程序/关闭

swift - 当检测到两个 SKPhysicsContacts 时,SpriteKit 游戏崩溃

ios - HighQualityFormat 的 PHImageManager.requestImageForAsset 从不调用 resultHandler

ios - 使用照片框架将图像保存到照片库

ios - 延迟在后台获取 EXC_BAD_ACCESS

ios - 需要建议在 iOS 开发中集成 Gmail 帐户