将图像从一个UIViewController发送到另一个

时间:2015-01-12 11:35:50

标签: ios objective-c iphone

我想传递一张我从画廊或相机拍摄的图像,我想让它传递下一个视图 我是通过代码完成的。

    PhotoDocumentViewController *objectPhotoDocument = [[PhotoDocumentViewController alloc]initWithNibName:@"PhotoDocumentViewController" bundle:nil];

[objectPhotoDocument.imgSelectedPhoto setImage:finalImage];
[self.navigationController pushViewController:objectPhotoDocument animated:YES];

这里imgSelectedPhoto是我在下一个视图(PhotoDocumentViewController)上声明的UIImageView。

但是当它推动下一个观点时。图像无法显示我不知道是什么问题。 请帮帮我。

2 个答案:

答案 0 :(得分:1)

您需要在视图控制器加载视图后设置视图和子视图的属性,即在viewDidLoad函数内部。类似的东西:

PhotoDocumentViewController *objectPhotoDocument = [[PhotoDocumentViewController alloc]initWithNibName:@"PhotoDocumentViewController" bundle:nil];
objectPhotoDocument.imageToSend = finalImage;
[self.navigationController pushViewController:objectPhotoDocument animated:YES];

PhotoDocumentViewController.h

@interface PhotoDocumentViewController : UIViewController
...
@property (nonatomic, strong) UIImage *imageToSend;
@end

PhotoDocumentViewController.m

- (void)viewDidLoad
{
     ...
     imgSelectedPhoto.image = self.imageToSend;
     ...
}

答案 1 :(得分:0)

UIImage中为PhotoDocumentViewController创建一个属性:

@property (nonatomic, strong) UIImage *myImage

并设置为:

[objectPhotoDocument setMyImage:finalImage];
在推送objectPhotoDocument之前

这样,您将拥有一个指向UIImage对象的强大指针。在viewDidLoad的{​​{1}}方法中,将此对象设置为PhotoDocumentViewController

UIImageView