使用prepareforsegue将图像从按钮传递到图像视图

时间:2012-07-18 20:56:57

标签: iphone xcode

我需要你的帮助。 我有两个不同的视图控制器: 1.用一个按钮 2.带有图像视图。

我正在尝试将按钮的图像传递到第二个视图控制器的图像视图。 正在准备预备,但图像没有通过。 我附上了我的代码:

- (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处图像视图的出口。

谢谢

2 个答案:

答案 0 :(得分:4)

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

要点是viewController的视图层次结构尚未在prepareForSegue处设置,因此此时ImageGuessView为零。您可以做的是在UIImage类上定义GeneralGuess属性并设置它。然后在viewWillAppear中将该图片加载到ImageGuessView

答案 1 :(得分:0)

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

相反,您应该传递图像并将其存储在目标视图控制器的属性中,然后在目标视图控制器viewDidLoad

的图像视图中进行设置。