我有两个 View Controller ,其中一个我从照片库中选择图像并将其分配给图像属性。使用这个选择器:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)img editingInfo:(NSDictionary *)editInfo
但相反,我只想从第一个 Controller 中的选择器中获取图像的地址/数据,推送下一个 View Controller ,然后在那里打开具有该地址的图像。那么我执行以下操作:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
当我打印照片的信息时,它看起来像这样:
assets-library://asset/asset.JPG?id=52219875-C221-4F60-B9D4-984AAADB6E63&ext=JPG
问题是 UIImage 有方法
initWithData
或 imageWithData
但这些接受 NSData 而不是 NSDictionary。如何使用照片库中的数据打开图像?
最佳答案
这种方法:
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)img
editingInfo:(NSDictionary *)editInfo
不应该使用,自 ios3 以来已被弃用
这种方法:
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
在您报告时返回字典。
图像指针是该字典中的对象之一。您可以这样获得它:
UIImage* image = [info objectForKey:UIImagePickerControllerOriginalImage];
关于ios - 从带有数据的照片库中打开 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14638457/