如何将图像发送到另一个viewcontroller

时间:2011-04-13 01:59:00

标签: iphone objective-c xcode uiimage

我有一个程序,我将两个图像组合到我的主ViewController上的UIImageView上的单个图像中。我想在另一个viewController上将该组合图像设置为UIImageView,以便预览它的全尺寸。我可以做到这一切,我只是无法弄清楚如何将这个图像发送到另一个viewcontroller的UIImageView。

如何将图像设置为位于不同viewController上的UIImageView?

谢谢

4 个答案:

答案 0 :(得分:2)

使用委托模式,添加如下方法:

-(void)viewController: (UIViewController*)vc didReturnImage: (UIImage*)image;

答案 1 :(得分:1)

首先,您应该在该视图控制器上创建一个图像对象,您必须在该控制器上显示图像,然后将图像设置为该图像对象,如: - 在forthViewController中执行

UIImage *img;

@property(nonatomic,retain)UIImage *img;

确保你制作属性并合成img。

在您拥有该图像的视图中: -

ForthViewController *forthView=[[[ForthViewController alloc]initWithNibName:@"ForthViewController" bundle:nil]autorelease];
forthView.img=[UIImage imageNamed:@"Default.png"];
[self.navigationController pushViewController:forthView animated:YES];

在您查看必须显示图像的控制器时: -

UIImageView *imgView=[[UIImageView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)];
[imgView setImage:self.img];
[self.view addSubview:imgView];

我希望这段代码能为你工作基本上你可以得到prevoius视图控制器的图像现在你可以想要你想要的(组合..) 快乐编码:)

答案 2 :(得分:0)

谁拥有第二个视图控制器?在代码的某处,您应该能够引用第二个视图控制器。然后,在第二个视图控制器中,只需创建一个名为setImage:(UIImage *)image的方法,该方法接受UIImage并将其指定为图像视图的图像。

答案 3 :(得分:0)

SecondViewImage *VC = [[SecondViewImage alloc] initWithNibName:@"ViewImage" bundle:nil] ;

[VC loadView];

VC.theImage.image = chosenImage;
VC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;

[self.navigationController pushViewController:VC animated:YES];

注意:需要loadView。