可能重复:
UINavigationController
我有一堆由UINavigationViewController处理的UIViewControllers。
假设我在UIViewController 7,我想回到2号。最方便的方法是什么?
假设我不知道目标UINavigationController是什么号码,我只想回到“MyCustomViewController”(加载到堆栈上)。有没有办法实现这个目标?
我的目标UIViewController不在堆栈中。所以我想摆脱堆栈,并从rootViewController推送它。我目前正在使用UIViewController编号7.要编写哪些代码?
感谢
答案 0 :(得分:0)
首先获取视图控制器列表([navController viewControllers]
)并获取第二个视图控制器([vcs objectAtIndex:1]
)。然后只需拨打popToViewController:
通过您之前获得的控制器。
获取视图控制器类列表([[navController viewControllers] valueForKey:@"class"]
)然后检查类MyCustomViewController
([vcClasses indexOfObject:[MyCustomViewController class]]
)的索引。获取该对象的索引,然后使用第(1)项中描述的方法弹出到该视图控制器。
然后弹出到根视图控制器并随后推送您想要的视图控制器。