如何使用按钮点击功能将PHAsset转换为UIImage
好的,所以我一直在这一段时间,我似乎无法解决它。如何使用按钮点击功能将PHAsset转换为UIImage
我有一个ImagePicker将图像捆绑到PHAssest中。这是从https://github.com/hyperoslo/ImagePicker
当一个图像被选中,完成按钮被激活。我有一个UIImageView,当我按func doneButtonDidPress(images: [UIImage])
时,会将PHAsset转换为UIImage并将其加载到ImageView中。目前,这是我的代码,它不起作用:
// CONVERT PHASSET TO UIIMAGE
func getAsset(asset: PHAsset) -> UIImage {
let manager = PHImageManager.defaultManager()
let option = PHImageRequestOptions()
var image = UIImage()
option.synchronous = true
manager.requestImageForAsset(asset, targetSize: CGSize(width: 100.0, height: 100.0), contentMode: .AspectFit, options: option, resultHandler: {(result, info)->Void in
image = result!
})
return image
}
func doneButtonDidPress(images: [UIImage]) {
self.imagePickerController.dismissViewControllerAnimated(true, completion: nil)
var selectedImg = imagePickerController.stack.assets
getAsset(selectedImg)
self.SelectedImageView.image = UIImage(named: selectedImg)
}
哪个标志有错误。有人能帮我一下吗?!三江源
我从PHAsset
就像得到UIImage
:
func getAsset(asset: PHAsset) -> UIImage {
var image = UIImage()
let imgManager = PHImageManager.defaultManager()
let requestOptions = PHImageRequestOptions()
requestOptions.synchronous = true
imgManager.requestImageForAsset(asset, targetSize: CGSizeMake(300.0, 300.0), contentMode: PHImageContentMode.AspectFit, options: requestOptions, resultHandler: { (img, _) in
image = img
})
return image
}
该代码进行测试&目前在我的应用程序工作。
完成按钮的方法应该是这样的:
func doneButtonDidPress(image: [UIImage]) {
self.imagePickerController.dismissViewControllerAnimated(true, completion: nil)
var selectedImg = imagePickerController.stack.assets.first
self.selectedImageView.image = getAsset(selectedImg)
}
'self.selectedImageView.image = getAsset(selectedImg)'用标记错误值的类型UIViewController没有成员selectedImageView –
哪个'UIImageView'要添加图像?你能分享完整的控制器代码来检查你是否有'selectedImageView'的插座吗?还要确保拼写可能是拼错的。 –
优秀,现在完美。谢谢@穆罕默德。我只需要更改UIImageView的名称。 –
我没有在你的代码看到你从功能'getAsset返回的UIImage()',什么是'chosenImg'? 我会这样做: 'self.SelectImageView.image = getAsset(selectedImg)' – Chajmz
'func getAsset(asset:PHAsset) - > UIImage'已经在它的最后一个大括号作为'return image'返回之前返回。 PS:忽略选择的Img。我已经更新了它。如果有机会,你可以重写所有功能在一个按钮,而不是在按钮中调用它,这将是非常棒的。但是,任何帮助将非常感激。谢谢 –