0

我正在学习 iOS 编程,但我在使用 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 是nil。 请告诉我问题出在哪里以及为什么会发生这种现象,非常感谢 我使用Xcode 4.3.3并在iPhone 5.1模拟器上运行程序

4

1 回答 1

0

(此答案假设您的testViewController显示器正常,只是没有得到您想要的图像。)

当您创建一个新控制器并推送它时,它的视图层次结构在它执行之前不会加载viewDidLoad:。您正在尝试在此imageView之前更新它。尝试向 中添加一个UIImage属性testViewController,在此代码中设置该属性,然后在imageView所有视图在新控制器中有效后更新。

于 2012-08-18T13:29:03.827 回答