我有一个非常简单的应用程序,用户选择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;
}
答案 0 :(得分:2)
这样的事情:
UIImage * newImage = [UIImage imageWithCGImage:[image CGImage]];
答案 1 :(得分:-1)
使用
[image copy];
但请记住,你需要在dealloc上释放对象