2010-05-14 72 views
1

我有一个包含UIButton的视图。当它被点击时,它会调用加载另一个NIB的方法。现在,通常,该笔尖会将视图加载到堆栈上,并且一切都会好起来的。但是,我试图加载一个导航控制器(这样我就可以拥有深度较深的表格视图),并且我得到它的所有错误。iPhone:将导航控制器(带TableViewController)推入堆栈。这可能吗?

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

+0

对UITableView也有这么好的答案:(为什么你将一个NavigationController推到某个我认​​为已经是导航控制器的东西上,或许我错过了一些东西 – Rudiger 2010-05-14 06:16:22

+0

Ha,也许我有一个有注释的UIMapView,有一个相应的tableview,我用相同的数据构建,但是在table view中,我需要它作为一个导航控制器,这样我就可以深入到点击一个“显示列表视图”按钮就是我想调出由导航控制器控制的表格视图我该怎么做? – 2010-05-14 06:18:58

+0

假设你的mapview与我的类似,你的mapview是否有导航控制器有什么地方呢?如果这些令人困惑,我通过presentModalViewController推送我的mapView并传递它给根v控制器。我可以通过属性隐藏导航栏,但如果我想显示它 – Rudiger 2010-05-14 06:30:04

回答

5

另一个海报说你应该在你的AppDelegate中创建你的Nav控制器。如果你想添加一个新的UIView到你想创建UIView的presentModalViewController这个堆栈,那么将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]; 

希望朝向你的问题有所帮助。仍然试图找出你到底在做什么

+0

澄清,这里是我正在尝试去做。 1.我已经有一个可用的标签栏控制器。 2.点击标签2,带我到我的地图视图。 3.地图上有一个按钮可以更改为列表视图。 4.我想让这个“列表”像普通视图一样向下滑动,并且它需要是我可以钻入的一个表格视图(我认为需要一个导航控制器)。我不需要导航控制器吗? – 2010-05-14 13:51:08

+1

是的。你只是pushViewController整个方式,或者你做任何presentModalViewController?如果您只是推动导航控制器免费传递,但如果您执行像presentModal这样的事情,则必须将根导航控制器传递给它。 只是一个思想原因,我仍然有点失落,以我的经验,你只能推UIViewController或UITableViewController。如果您推送一个UINavigationController类(在。h类)它总是因为Nav控制器已经存在而崩溃 – Rudiger 2010-05-14 20:28:35

+0

那么,pushViewController和presentModalViewController有什么区别?我不在乎它是如何完成的,我只是希望能够有一个桌面视图,您可以深入到每个项目。并且该表视图呈现在堆栈的顶部,当单击“列表”按钮时由另一个视图调用。似乎很简单,但似乎没有人知道如何做到这一点! – 2010-05-16 07:16:20

0

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

+0

我已经有一个导航控制器,但它是一个标签栏控制器,它正在工作,并通过我的应用程序委托挂钩。我认为这不能用于我需要? – 2010-05-14 13:34:02

+0

我创建一个标签栏控制器的方式,每个标签都有自己的导航控制器(所以每个标签都可以记住它在自己的堆栈中的位置 - 如果你这样做,它应该可以工作)。请参阅http://stackoverflow.com/questions/2802612/how-to-create-iphone-main-menu-screen-with-2-tabbars-subview/2806137#2806137了解详情 – Andiih 2010-05-14 13:47:21

相关问题