在 swift 中没有等效的历史,没有以前的视图控制器



我有ListViewController和tableView。 当我单击一个项目时,将显示新的视图控制器,并且列表视图控制器中的表视图也显示在其中,等等。 例如 ListViewController -> ExpensesViewController -> VideoViewController。

无论身在何处,当我按后退箭头时,我都想回到列表视图控制器。我只想在切换到下一个视图控制器后从堆栈中删除前一个。

您的UINavigationController有一个UIViewController数组。 因此,您只需删除此数组中的控制器即可。

如果我理解,当您点击VieoViewController中的后退按钮时,您想返回列表视图控制器。 因此,在推送VideoViewController后,您必须从导航控制器的数组中删除ExpensesViewController(例如VideoViewControllerviewDidAppear

(
var viewControllers = navigationController?.viewControllers
viewControllers?.remove(at: 0)
self.navigationController?.setViewControllers(viewControllers!, animated: false)

最新更新