Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone UINavigationController直接进入';下一个';控制器?_Iphone_Uinavigationcontroller - Fatal编程技术网

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

Iphone UINavigationController直接进入';下一个';控制器?,iphone,uinavigationcontroller,Iphone,Uinavigationcontroller,我有一个UINavigationController,它有3个层次:菜单->子菜单->详细信息。菜单和子菜单是UITableView,而详细信息是一些自定义视图控制器 我想在“详细信息”视图中添加“上一个”和“下一个”按钮,这将允许我直接从当前子菜单转到上一个和下一个项目 例如,假设我有: |Menu |M1 Submenu |SM2 Details -------------------------------- M1 -> |SM1 |D1 M2

我有一个UINavigationController,它有3个层次:菜单->子菜单->详细信息。菜单和子菜单是UITableView,而详细信息是一些自定义视图控制器

我想在“详细信息”视图中添加“上一个”和“下一个”按钮,这将允许我直接从当前子菜单转到上一个和下一个项目

例如,假设我有:

|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。同样,如果s/he按下“上一步”按钮,则应显示D2

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

实现这一点的最佳方式是什么?我是否必须弹出回到子菜单,然后按另一个详细信息控制器?我是否直接从详细信息视图控制器调用子菜单控制器(如果是,如何调用)


谢谢。

真的没有必要打电话给家长控制器。以下是您可以做的:

假设您在子菜单控制器中保留一个“细节”项数组,而不是使用选定项初始化细节控制器,而是使用数组和选定索引初始化它


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

如果我理解正确,您是说我在我的详细信息控制器中引用了子菜单详细信息数组?如果没有,我如何告诉子菜单控制器将下一个数组项传递给我?也许我遗漏了什么。没错,在细节控制器中保留对细节数组的引用。您可能还希望在详细信息控制器的视图中更改子菜单控制器上的选定索引。