最近使用UIImagePickerController从相册选取照片时报[Generic] Creating an image format with an unknown type is an error错误,之前用过也不报错呀,XCode8.3.2忽然报错了。。。纠结,非常纠结。。。纠结了一下午后,终于憋出了解决方法。。。
废话就不多说了,直接上解决方法
UIImagePickerController的使用方法先自己百度下,这里只说解决问题的方法,出现这个错误的关键在于UIImagePickerControllerDelegate
来来来~看一下,你是不是也是这么写的。。。报错的原因就在这,不知道为啥,这个时候_iconImageView是不能被赋值的,有知道为什么的同学留言学习一下哈~
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
// 这种写法会报[Generic] Creating an image format with an unknown type is an error错误
UIImage * image = [info objectForKey:UIImagePickerControllerEditedImage];
_iconImageView.image = image;
[picker dismissViewControllerAnimated:YES completion:^{
}];
}
然后上解决方法
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary<NSString *,id> *)info{
UIImage * image = [info objectForKey:UIImagePickerControllerEditedImage];
// 方法一:异步赋值
dispatch_async(dispatch_get_main_queue(), ^{
_iconImageView.image = image;
});
[picker dismissViewControllerAnimated:YES completion:^{
// 方法二:等UIImagePickerController消失后再去调用image
_iconImageView.image = image;
}];
}
两个方法用一个就行,方法一效果比较好点儿
如果你的问题也解决了,给个评论呀,给个收藏呀,mark mark呀~~~