为什么这段代码不会加载我的NIB / XIB

时间:2009-09-19 18:17:07

标签: iphone xcode viewcontroller

我有2个XIB及其相应的View Controllers。将它们称为MainViewController和AboutViewController。 XIB的名称与ViewControllers的名称完全相同。在MainViewController中单击按钮后,我想显示AboutViewController。

我在MainViewController中有这样的代码:

- (IBAction) infoButtonAction:(id)sender {
    AboutViewController *aboutViewController = [[AboutViewController alloc] init];
    [[self navigationController] pushViewController:aboutViewController animated:YES];
}

但没有任何反应,AboutViewController没有出现。我也尝试过这一行:

AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil];

但无济于事。我错过了什么?

2 个答案:

答案 0 :(得分:1)

在Interface Builder中检查您的AboutViewController.xib,并确保在类检查器中将文件所有者设置为AboutViewController。还要确保文件所有者的view属性连接到xib中的View。最后,显示它的代码应为:

- (IBAction) infoButtonAction:(id)sender {
    AboutViewController *aboutViewController = [[AboutViewController alloc] initWithNibName:@"AboutViewController" bundle:nil];
    [[self navigationController] pushViewController:aboutViewController animated:YES];
    [aboutViewController release];
}

此外,您应该在同一方法中检查这是非零的:

UINavigationController * nc = self.navigationController;

答案 1 :(得分:0)

你收到错误吗?您是否检查过按钮在IB中是否正确连接?

你尝试使用模态视图控制器吗?