UINavigationController直接进入'下一个'控制器?

时间:2010-06-21 16:15:36

标签: iphone uinavigationcontroller

我有一个具有3级层次结构的UINavigationController:Menu-> Submenu-> Details。菜单和子菜单是UITableViews,而Details是一些自定义视图控制器。

我想在Details视图中添加'previous'和'next'按钮,这样我就可以直接转到当前子菜单中的上一个和下一个项目。

例如,假设我有:

|Menu    |M1 Submenu |SM2 Details
--------------------------------
M1  ->   |SM1        |D1
M2       |SM2   ->   |D2
M3       |SM3        |D3  // Let's say we are here now
                     |D4
// ... etc ...

// The arrows represent items the user selected

因此,假设该应用程序当前正在显示D3详细信息视图控制器。这意味着我们目前处于M1-> SM2-> D3。现在在D3中,如果用户按下“下一步”按钮,则应显示D4。同样,如果他/她按下“上一个”按钮,它应该显示D2。

因此,“下一个”和“上一个”按钮基本上与按下导航控制器后退按钮,然后选择列表中的下一个项目相同。

实施此操作的最佳方法是什么?我是否必须弹回子菜单然后再推送另一个详细信息控制器?我是否直接从详细信息视图控制器调用子菜单控制器(如果是这样)?

感谢。

1 个答案:

答案 0 :(得分:0)

确实没有必要调用父控制器。这是你可以做的:

假设您在子菜单控制器中保留了一系列“细节”项,而不是使用所选项初始化细节控制器,请使用数组和所选索引对其进行初始化。

然后,当按下prev / next按钮时,更改所选索引并相应地更新视图。