iPhone:如何让导航控制器互相支持?

时间:2011-08-12 12:01:50

标签: iphone ios ios4

我有一个导航控制器,我为每个收到的问题推送一个新的tableviewcontroller以便向用户询问,因此在堆栈中,如果有30个问题被提出,它最多可以构建30个控制器。

难点在于,在某些tableviewcontrollers中,我想通过在该tableview中使用另一个导航控制器来获取用户的输入:例如在tableview(这是堆栈中的许多视图之一)中,可能存在uitablecell右边的箭头表示选择要订购的书籍,当他点击箭头时,新的桌面视图将会滑动,其中包括要选择的书籍,并带有复选标记,然后他将选择并返回主表格视图并继续主要航行那里。

如何在主导航控制器中实现新的navcontroller?或者更好的想法?

编辑:这可能是一个想法,将详细信息视图推送到同一个控制器,但是当用户“后退”但是我想要显示书籍(在详细视图中选择)主表时,它们将会无限制地弹出,当用户再次点击该单元格时,详细视图将包含以前选定的书籍。这是一个很好的方法

2 个答案:

答案 0 :(得分:1)

我真的不明白你为什么不把uitableviewcontrollers的detailview推到主UINavigationController上。 你能解释一下这个细节吗? 我没有权利对您的问题发表评论,所以我担心我必须将此作为答案发布。

MFG,

侧击

答案 1 :(得分:1)

将UINavigationController放在UINavigationController中是个坏主意。你似乎真正想要的是在将一些视图控制器从导航控制器的堆栈中弹出后,状态数据的持久性。

我会将该状态信息放入持久对象中。如果它是一个很小的状态数据,我可能会将该数据添加到我知道是持久的现有对象,例如应用程序委托或根视图控制器。我会将一组更复杂的持久数据保存到自定义对象中。根视图控制器将保留此对象,并且将为每个后续视图控制器提供引用。此对象将具有可能已由导航堆栈弹出的控制器收集的数据,因此不再存在。