我有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];
但无济于事。我错过了什么?
答案 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中是否正确连接?
你尝试使用模态视图控制器吗?