我正在学习iOS编程,我遇到了tableview的问题。 通过在tableview中点击一个单元格,我希望我的程序更改为另一个视图,这是我的代码。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
testViewController* controller=[[testViewController alloc] initWithNibName:@"testViewController" bundle:nil];
controller.imageView.image=[UIImage imageNamed:@"gyf.jpg"];
[self.navigationController pushViewController:controller animated:YES];
}
testViewController控制的视图非常简单。其中只有一个图像视图。
但是在点击单元格后,屏幕上只有一个空白视图,没有任何图像。
在调试中,在controller.imageView.image=[UIImage imageNamed:@"gyf.jpg"];
之后,我发现controller.imageview是零。
请告诉我问题出在哪里以及为什么会出现这种现象,非常感谢
我使用Xcode 4.3.3并在iPhone 5.1模拟器上运行该程序
答案 0 :(得分:0)
(此答案假设您的testViewController
显示正常,但没有获得您想要的图像。)
当您创建一个新控制器并将其推送时,它的视图层次结构在执行viewDidLoad:
之前不会加载。在此之前,您正尝试更新其imageView
。尝试将UIImage
属性添加到testViewController
,在此代码中设置该属性,然后在新控制器中所有视图都有效后更新imageView
。