通过UINavigationController传递图像

时间:2011-06-26 20:13:16

标签: iphone objective-c ios uinavigationcontroller uiimage

我的RootViewController中有一个图像(从UIImagePickerController中选择),我需要通过导航控制器传递给新视图。我有以下代码用于将字符串传递给下一个视图:

//Get strings
NSString *text1 = line1.text;
NSString *text2 = line2.text;
NSString *text3 = line3.text;
NSString *text4 = line4.text;

//Create an GeneratedViewController and initialise it with given data
GeneratedViewController *gController = [[GeneratedViewController alloc] initWithNibName:@"GeneratedViewController" bundle:[NSBundle mainBundle]];
gController.text1 = text1;
gController.text2 = text2;
gController.text3 = text3;
gController.text4 = text4;
[self.navigationController pushViewController:gController animated:YES];
[gController release];
gController = nil;

如何将图像传递给GeneratedViewController?

谢谢,

杰克

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是在GeneratedViewController上创建UIImage类型的属性。 然后在创建并初始化GeneratedViewController之后但在将其推送到navigationController之前,您需要将gController上的image属性设置为所选图像。

答案 1 :(得分:0)

  • 控制器上的属性,就像文本设置
  • 一样
  • 在方法或初始化程序
  • 通过通知(NSNotificationCenter)。这有点先进。
  • 通过委托,第一个控制器是Generated Controller上的数据源委托。这允许第二个控制器随时获得它所需要的东西。

使用哪种方法取决于控制器的创建方式,图像何时可以更改,以及第二个控制器需要多少个不同的数据 - 一个或两个位,属性正常。更重要的是,我倾向于使用代表团。