一尘不染

如何快速将视图控制器弹出到以前的视图控制器之一?

swift

我一直试图将我的视图控制器弹出到我的视图堆栈中的以前的视图控制器之一。假设在我的视图堆栈中有
firstVC,secondVC,thirdVC和fourthVC 视图 控制器
。当前的视图控制器是第四个,在fourthVC中有一个表视图。如果用户删除tableview中的所有行,则应将用户 定向
secondVC 。我有一个想法,我将创建另一个Navigationcontroller并将其与 presentViewController
命令一起 呈现 。但是,这不是我的问题的解决方案。因为我认为这种情况下会出现导航问题。如何找到这种情况的最佳解决方案?

谢谢您的回答,最好的问候


阅读 214

收藏
2020-07-07

共1个答案

一尘不染

而不是进行通用popViewControllerAnimated:调用,请使用popToViewController:animated:。在这种情况下,您可以检测到用户是否删除了所有行,请执行以下操作(否则只需弹出一个视图控制器):

let viewControllers: [UIViewController] = self.navigationController!.viewControllers as [UIViewController];
self.navigationController!.popToViewController(viewControllers[viewControllers.count - 2], animated: true);
2020-07-07