我想要使用具有UIImageView的photoViewController.在flickrTVC中,我说:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"showPhoto"])
{
photoViewController *vc = [segue destinationViewController];
UIImage *photo = [UIImage imageWithContentsOfFile:@"images/en.jpeg"];
[vc setDisplayedPhoto:photo];
}
}
Run Code Online (Sandbox Code Playgroud)
并且setDisplayedPhoto方法的实现是:
-(void)setDisplayedPhoto:(UIImage *)image
{
[_imageView setImage:image]; //@property (nonatomic, strong) IBOutlet UIImageView *imageView;
}
Run Code Online (Sandbox Code Playgroud)
但是当我做segue时,UIImageView是白色的......为什么会这样呢?
rob*_*off 10
在源视图控制器收到prepareForSegue:sender:消息时,目标视图控制器尚未加载其视图层次结构.所以你的目的地VC的_imageView变量是nil.
建议的方法是将图像(或者甚至更好的图像文件名)存储为目标VC的属性,然后在目标VC viewDidLoad或viewWillAppear:方法中设置图像视图的图像.
| 归档时间: |
|
| 查看次数: |
1761 次 |
| 最近记录: |