1

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

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

- (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 号视图控制器的图像视图的出口。

谢谢

4

2 回答 2

4

前几天有人回答了这个问题,但我懒得找到链接。(如果 SO 也有一个可以提升问题的知识库,而不是没有在搜索中出现的无休止的问题,那不是很好)

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

于 2012-07-18T21:05:39.500 回答
0

调用时目标尚未加载,prepareForSegue因此图像视图是nil,因此您尝试设置图像时不会发生任何事情。

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

于 2012-07-18T21:03:37.650 回答