PHAsset到UIImage

我正在尝试从PHAsset创建UIImage(如缩略图或其他内容),以便可以将其传递到采用UIImage的对象中。我曾尝试调整在SO上找到的解决方案(因为它们都只是直接将其传递到诸如表视图之类的东西中),但我没有成功(可能是因为我做得不好)。

func getAssetThumbnail(asset: PHAsset) -> UIImage {

var retimage = UIImage()

println(retimage)

let manager = PHImageManager.defaultManager()

manager.requestImageForAsset(asset, targetSize: CGSize(width: 100.0, height: 100.0), contentMode: .AspectFit, options: nil, resultHandler: {(result, info)->Void in

retimage = result

})

println(retimage)

return retimage

}

printlns告诉我,manager.request行现在不执行任何操作。我如何获得它以资产作为UIImage。

谢谢。

回答:

这样做是我需要做的,以防万一任何人也需要它。

func getAssetThumbnail(asset: PHAsset) -> UIImage {

let manager = PHImageManager.defaultManager()

let option = PHImageRequestOptions()

var thumbnail = UIImage()

option.synchronous = true

manager.requestImageForAsset(asset, targetSize: CGSize(width: 100.0, height: 100.0), contentMode: .AspectFit, options: option, resultHandler: {(result, info)->Void in

thumbnail = result!

})

return thumbnail

}

编辑:Swift 3更新

func getAssetThumbnail(asset: PHAsset) -> UIImage {

let manager = PHImageManager.default()

let option = PHImageRequestOptions()

var thumbnail = UIImage()

option.isSynchronous = true

manager.requestImage(for: asset, targetSize: CGSize(width: 100, height: 100), contentMode: .aspectFit, options: option, resultHandler: {(result, info)->Void in

thumbnail = result!

})

return thumbnail

}

以上是 PHAsset到UIImage 的全部内容, 来源链接: utcz.com/qa/407310.html

回到顶部