iPhone:如何使 UI 导航 Controller 彼此内部?

标签 iphone ios ios4

我有一个导航 Controller ,我会为收到的每个要问用户的问题推送一个新的 tableviewcontroller,因此如果问了 30 个问题,它会在堆栈中构建多达 30 个 Controller 。

困难在于,在某些 tableviewcontrollers 中,我想通过在该 tableview 内使用另一个导航 Controller 来获取用户的输入:例如,在 tableview(这是堆栈中的许多 View 之一)中,可能有 uitablecell 与右边的箭头说选择你想订购的书,当他点击箭头时,一个新的表格 View 将滑入其中,其中包括要选择的书籍乘以复选标记,然后他将选择并返回主表格 View 并继续主要导航那里。

如何在主导航 Controller 中实现一个新的 navcontroller?或者有什么更好的想法?

编辑:将详细 View 推送到同一个 Controller 可能是一个想法,但是当用户“返回”时它们会立即弹出,但我想在主表中显示书籍(在详细 View 中选择) ,并且当用户再次单击该单元格时,详细 View 将与以前选择的书籍一起出现。这是一个好方法吗

最佳答案

将 UINavigationController 放在 UINavigationController 中是个坏主意。您似乎真正想要的是在从导航 Controller 的堆栈中弹出一些 View Controller 后状态数据的持久性。

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

关于iPhone:如何使 UI 导航 Controller 彼此内部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7039781/

相关文章:

java - 适用于移动应用程序的最佳远程处理技术是什么?

iPhone:带有委托(delegate)的 NSFetchedResultsController 和来自单独线程的数据更新

iphone - ASIHTTPRequest 中的线程

c++ - 捕获我在 Objective-C 中调用的 C++ 函数的异常?

ios - 本地推送通知可以有可变内容吗?

iphone - 我的代码片段泄露了

iphone - 使用 Core Motion 从加速度计数据获取位移

iphone - 在不使用自定义单元格编辑 UITableView 时更改单元格外观?

iphone - 显示随机词和用户名

swift - iOS 解析 - 架构 i386 的 undefined symbol - iPhone 4s、iPhone 5