我有一个单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
可能这是问题的根源。如果是这样,如何纠正它?
请帮忙。
答案 0 :(得分:13)
UINavigationController *navCtrlr = [[UINavigationController alloc]initWithRootViewController:yourfirstviewController];
[self.window setRootViewController:navCtrlr];
navCtrlr.delegate = self;
navCtrlr.navigationBarHidden = YES;
在appdelegate.m
中创建导航控制器,然后您可以导航到任何uiviewcontroller
答案 1 :(得分:12)
您需要实际创建UINavigationController
。 navigationController
属性告诉您DataViewController当前是否在UINavigationController
的层次结构中;如果不是(如本例所示),navigationController
属性将返回nil
。