2012-07-18 124 views
1

我需要您的帮助。 我有两个不同的视图控制器: 1.带有按钮 2.与图像视图。使用prepareforsegue将图像从按钮传递到图像视图

我试图将按钮的图像传递到第二个视图控制器的图像视图。 012fprepareforsegue被调用,但图像不通过。 我重视我的代码:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([[segue identifier] isEqualToString:@"pushGuessLogo"]) 
    { 
     GeneralGuess *vc = [segue destinationViewController]; 
      [self setLogoImageView:[[UIImageView alloc] initWithImage:self.logoImageSelected.imageView.image]]; 

     [vc setImageGuessView:self.logoImageView]; 
    } 

} 

ImageGuessView是图像视图的视图控制器号出口2

谢谢

+0

如果你插入'UIImageView * test = [[UIImageView alloc] initWithImage:self.logoImageSelected.imageView.image],会发生什么? NSLog(@“Test:%@”,test);'在那里看看你正在尝试传递什么? – 2012-07-18 21:02:27

+0

[在prepareForSegue中设置UIImageView.image]的可能的重复(http://stackoverflow.com/questions/11515643/set-uiimageview-image-in-prepareforsegue) – 2012-07-18 21:08:29

回答

4

有人回答了这个前些天形象的看法,但我太懒得找到链接。 (如果SO还有一个知识库可以提升问题的知识库,而不是在搜索中出现的无穷无尽的问题,这不是很好)

的要点是,viewController的视图层次还没有建立在prepareForSegue点,所以你的ImageGuessView在这一点上是零。你可以做的是在你的GeneralGuess类上定义一个UIImage属性并设置它。然后在viewWillAppear将该图片加载到您的ImageGuessView中。

+1

http://stackoverflow.com/questions/11515643/set- uiimageview-image-in-prepareforsegue/11515796#11515796 – 2012-07-18 21:08:14

+0

嗨大卫,谢谢你,它帮助 – 2012-07-21 09:13:01

0

目标尚未加载时prepareForSegue被称为所以图像视图是nil,因此没有任何反应,您尝试设置图像。

相反,你应该通过图像,并将其存储在目标视图控制器上的属性,以后再设置它在目标视图控制器viewDidLoad

相关问题