导航堆栈在运行时重新排序/重新安排场景

时间:2013-06-25 04:13:27

标签: ios xcode uinavigationcontroller storyboard scene

我有一个带UITableViewController的导航控制器,我允许用户重新排序单元格。假设用户最终设置了单元格,如RootViewController(下图)所示。

如您所见indexPath.row:0指向场景4 indexPath.row:1点指向场景2 indexPath.row:2点到场景3 indexPath.row:3点到场景7 indexPath.row:4点到场景1

问题:现在,当用户点击RootViewController导航栏上的下一个按钮时,我希望这些场景以某种方式重新排列并且堆栈变为:

场景4将首先出现,按下按钮推动场景2 在场景2中,下一个按钮按下场景3 在场景3中,下一个按钮按下场景7。 在场景7中,下一个按钮按下场景1.

当用户点击后退按钮时,场景以相同的顺序弹出:场景1到场景7到场景3到场景2到场景4,最后回到RootViewController

我正在使用带有Xcode 4.6.3的Storyboard。为iOS6设计。

谢谢!

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以随时使用Objective-C来执行逻辑,而不是使用Storyboard。

利用[self pushViewController:vc];[self popViewController:vc];(甚至[self popToRootViewController:animated:];),您可以在您决定的逻辑中排列视图控制器。

默认情况下,一旦您将视图控制器推送到它,UINavigationController将处理“返回路径”。