如何从UIImagePicker获取图像的副本

时间:2009-11-22 22:39:08

标签: iphone xcode delegates uiimageview uiimagepickercontroller

我有一个非常简单的应用程序,用户选择UIImageView并按下按钮用相机拍照。然后返回图像并显示在UIImageView

但是,由于UIImageViews共享同一个代理,当UIImageViews之一中已有图片时,我会将照片放入另一个,前一个{{ 1}}被替换为空内容(即没有图像)。我想这是因为他们共享同一个代表。有什么办法可以实际复制图像而不是引用它的委托版本吗?

以下是一些示例代码:

UIImageView

}

谢谢!

编辑:这是按下按钮时由IBAction调用的代码

    - (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {
[picker.parentViewController dismissModalViewControllerAnimated:YES];

if (topView == YES)
{
    NSLog(@"topView = %i", topView);
    imageView.image = image;
}
else {
    NSLog(@"topView = %i", topView);
    imageView2.image = image;
}

2 个答案:

答案 0 :(得分:2)

这样的事情:

UIImage * newImage = [UIImage imageWithCGImage:[image CGImage]];

答案 1 :(得分:-1)

使用

[image copy];

但请记住,你需要在dealloc上释放对象