iPhone:将导航控制器(带有TableViewController)推送到堆栈上。这可能吗?

时间:2010-05-14 05:57:53

标签: iphone uiviewcontroller uitableview

我有一个包含UIButton的视图。单击此按钮时,它将调用加载另一个NIB的方法。现在,通常,该笔尖会将视图加载到堆栈上,一切都会好的。但是,我正在尝试加载一个导航控制器(这样我可以拥有多层深度的表视图),而且我得到的都是错误。

加载导航控制器并将其放在堆栈顶部的正确方法是什么?

2 个答案:

答案 0 :(得分:5)

正如另一张海报所说,您应该在AppDelegate中创建Nav控制器。如果要向堆栈添加新的UIView,比如presentModalViewController,则要创建UIView,然后将Nav Controller添加到其中。如果您不想在该屏幕上使用导航控制器,但下一步只需使用navController.hidden属性,我认为是。

要将导航控制器添加到视图,请执行以下操作:

NoticesView *noticesScreen = [[[NoticesView alloc] init] autorelease];
noticesScreen.delegate = self;
UINavigationController *navController = [[[UINavigationController alloc] initWithRootViewController:notices_screen] autorelease];
[self presentModalViewController:navController animated:YES];

希望有助于解决您的问题。仍在努力找出你在做什么

答案 1 :(得分:0)

在app delegate中创建导航控制器。将mapview作为第一个视图推送到堆栈。将您的tableview推入堆栈作为第二个。如果您开始使用基于视图的应用程序模板,则根本不会实例化导航控制器。 (在那里完成了)最简单的方法是使用xCode进行基于导航的applcation,然后从中复制代码。如果您已经有导航控制器,那么只需按上面那样推动视图控制器。