self.navigationController pushViewController无法正常工作

时间:2011-05-28 21:44:19

标签: iphone ios ios4

我有一个单UIViewController的View应用程序。然后我在IB中添加了UITableViewController,我试图通过按下UITableViewController(我的主视图)中的按钮来显示UIViewController。我按下按钮(IBAction)包含以下代码,我试图通过该代码推送UITableViewController视图并显示它:

DataViewController *dataController = [[DataViewController alloc] initWithNibName: @"DataViewController" bundle:nil];
[self.navigationController pushViewController:dataController animated:YES];
[dataController release];

我的DataViewController根本没有被推入堆栈并显示, 我也在上面的代码中检查了self.navigationController=nil 可能这是问题的根源。如果是这样,如何纠正它?

请帮忙。

2 个答案:

答案 0 :(得分:13)

UINavigationController *navCtrlr = [[UINavigationController alloc]initWithRootViewController:yourfirstviewController];
[self.window setRootViewController:navCtrlr];
navCtrlr.delegate = self;
navCtrlr.navigationBarHidden = YES;

appdelegate.m中创建导航控制器,然后您可以导航到任何uiviewcontroller

答案 1 :(得分:12)

您需要实际创建UINavigationControllernavigationController属性告诉您DataViewController当前是否在UINavigationController的层次结构中;如果不是(如本例所示),navigationController属性将返回nil