如何在 UIIMagePickerController 中设置自定义图像
Posted
技术标签:
【中文标题】如何在 UIIMagePickerController 中设置自定义图像【英文标题】:How can I set a custom image in UIIMagePickerController 【发布时间】:2012-07-06 14:24:54 【问题描述】:我有带有 3 个选项的 UIActionSheet -
-
拍照(从相机)
从库中选择
编辑照片(如果用户有头像)
我使用 UIImagePickerController 并且前 2 个选项没有问题。用户选择照片,然后可以缩放/移动以裁剪一张。
所以,我的问题是 - 如何使用当前的比例因子和框架将已保存的照片用于编辑(第三个选项)。 F.e 如果我选择“编辑照片”,我希望获得与预览后选择的相同照片“状态”。
这就是原生“联系人”应用的工作原理!
【问题讨论】:
【参考方案1】:您需要在委托方法中访问UIImagePickerControllerEditedImage
对象:
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
UIImage *image = [info objectForKey:UIImagePickerControllerEditedImage];
if (!image) image = [info objectForKey:UIImagePickerControllerOriginalImage];
....
然后你可以在你自己的编辑视图控制器中使用这个图像。通讯录应用程序以这种方式工作,因为它将编辑后的图像写回ALAsset
,这是一种破坏性的变化。对您应用程序中的用户执行此操作可能不是一个好主意,因此最好编写您自己的编辑图像控制器来处理编辑后的图像,而不是 UIImagePickerController
。 search on github 显示了大量可以帮助您在此处裁剪的开源存储库。
【讨论】:
我想可能是像pickerController.originalImage = originalImage;和 pickierController.croppedImage = croppedImage;运行编辑模式。以上是关于如何在 UIIMagePickerController 中设置自定义图像的主要内容,如果未能解决你的问题,请参考以下文章