在iOS中,可以使用以下代码来实现不显示嵌套/中间视图控制器,直接返回根视图控制器的效果:
// 以导航控制器为例
if let navigationController = presentingViewController as? UINavigationController {
if let rootViewController = navigationController.viewControllers.first {
// 返回根视图控制器
navigationController.popToViewController(rootViewController, animated: true)
}
}
在上述代码中,我们首先通过presentingViewController
属性获取到当前视图控制器的父视图控制器,假设是一个导航控制器。然后我们通过viewControllers
属性获取到导航控制器中的所有视图控制器,其中第一个视图控制器就是根视图控制器。最后,我们使用popToViewController(_:animated:)
方法将导航控制器中的所有视图控制器都出栈,只保留根视图控制器,从而达到不显示嵌套/中间视图控制器的效果。
请注意,上述代码仅适用于使用导航控制器进行视图控制器的导航的情况。如果你使用其他方式进行导航,比如模态弹出视图控制器,那么你需要根据具体情况来进行相应的处理。
下一篇:不显示求和的迭代数字