我需要你的帮助。 我有两个不同的视图控制器: 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处图像视图的出口。
谢谢
答案 0 :(得分:4)
前几天有人回答了这个问题,但我太懒了,无法找到链接。 (如果SO还有一个知识库,那么问题会得到提升,而不是在搜索中没有出现的无穷无尽的问题),这不是很好吗。
要点是viewController的视图层次结构尚未在prepareForSegue
处设置,因此此时ImageGuessView
为零。您可以做的是在UIImage
类上定义GeneralGuess
属性并设置它。然后在viewWillAppear
中将该图片加载到ImageGuessView
。
答案 1 :(得分:0)
调用prepareForSegue
时尚未加载目标,因此图像视图为nil
,因此您尝试设置图像时没有任何反应。
相反,您应该传递图像并将其存储在目标视图控制器的属性中,然后在目标视图控制器viewDidLoad