Ok, donc je suis là depuis un moment et je n'arrive pas à le résoudre.Comment utiliser une fonction de clic de bouton pour convertir un PHAsset en UIImage
J'ai un ImagePicker qui regroupe des images dans PHAssest. Il s'agit de https://github.com/hyperoslo/ImagePicker
Lorsqu'une image est sélectionnée, le bouton Terminé est activé. J'ai un UIImageView qui, quand j'appuie sur le func doneButtonDidPress(images: [UIImage])
, convertit le PHAsset en UIImage et le charge dans l'ImageView. Actuellement, ceci est mon code qui ne fonctionne pas:
// 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)
}
Qui indique des erreurs. Quelqu'un peut-il m'aider?! Thankyou
je ne vois pas dans votre code où vous obtenez le UIImage de retour de la fonction 'getAsset()', et ce qui est 'chosenImg'? Je l'aurais fait: 'self.SelectImageView.image = getAsset (selectedImg)' – Chajmz
le 'func getAsset (asset: PHAsset) -> UIImage' a été retourné juste avant que ses derniers accolades soient' return image'. PS: Ignorer le choisiImg. Je l'ai mis à jour. Si, par hasard, vous pouvez réécrire la fonction tout en un seul bouton au lieu de l'appeler dans le bouton, ce serait génial. Cependant, toute aide serait vraiment appréciée. Merci –