是否有可能两次popupUINavigationController?

是否有可能两次popup导航控制器? 我有这个导航结构:

查看一个—->查看两个—–>查看三

我想要完成的是,通过View Three上的一行,直接返回到View One。 我已经通过协议委托,从三个到两个,但设置委托在视图中一个不工作,并设置两个连续的委托协议都popup导航控制器,给我错误:嵌套导航控制器活动(或类似的东西)。

任何帮助,将不胜感激。 提前致谢!

有几个stream行选项

- (UIViewController *)popViewControllerAnimated:(BOOL)animated - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated - (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated 
  • 第一个popup顶部控制器。
  • 第二个允许你popup整个堆栈到达根目录。
  • 第三个允许你popup到你有一个引用的任何viewController。 您可以使用self.navigationController.viewControllers获取self.navigationController.viewControllers ,然后使用该数组获取您想要popup的特定viewController

使用下面的代码。 您可以使用任何数字而不是-3popup取决于您的要求。

代码:

 ViewController *View = [self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count-3]; [self.navigationController popToViewController:View animated:YES]; 

Swift 3.0 *

让controller = self.navigationController?.viewControllers [(self.navigationController?.viewControllers.count)! – 3]

  self.navigationController?.popToViewController(controller!, animated: true) 

你可以试试这个

 [self.navigationController popToViewController:[[self.navigationController viewControllers] objectAtIndex:1] animated:YES]; 

希望能帮助到你!!

“自我”似乎在第一次stream行后被释放

 UINavigationController *navigationController = self.navigationController; [navigationController popViewControllerAnimated:NO]; [navigationController popViewControllerAnimated:YES];