关于UINavigationController的3个问题

时间:2011-08-30 15:08:50

标签: objective-c ios

  

可能重复:
  UINavigationController

我有一堆由UINavigationViewController处理的UIViewControllers。

  1. 假设我在UIViewController 7,我想回到2号。最方便的方法是什么?

  2. 假设我不知道目标UINavigationController是什么号码,我只想回到“MyCustomViewController”(加载到堆栈上)。有没有办法实现这个目标?

  3. 我的目标UIViewController不在堆栈中。所以我想摆脱堆栈,并从rootViewController推送它。我目前正在使用UIViewController编号7.要编写哪些代码?

  4. 感谢

1 个答案:

答案 0 :(得分:0)

  1. 首先获取视图控制器列表([navController viewControllers])并获取第二个视图控制器([vcs objectAtIndex:1])。然后只需拨打popToViewController:通过您之前获得的控制器。

  2. 获取视图控制器类列表([[navController viewControllers] valueForKey:@"class"])然后检查类MyCustomViewController[vcClasses indexOfObject:[MyCustomViewController class]])的索引。获取该对象的索引,然后使用第(1)项中描述的方法弹出到该视图控制器。

  3. 然后弹出到根视图控制器并随后推送您想要的视图控制器。