如何在导航控制器堆栈上弹出具有多个视图控制器的 popToRootViewController 并仅显示一个过渡?



如何在导航控制器堆栈上弹出具有多个视图控制器(2(的RootViewController并仅显示一个转换?

例如,VC A 将 VC B、C 推送到导航堆栈上。现在,我希望从 C 到 A 有一个平滑的动画过渡,而不显示 B。

我尝试了很多东西,但我总是看到B。

例如,我尝试过:

self.navigationController?.viewControllers.removeLast()
self.navigationController?.popToRootViewController(animated: true)

和:

func popBack<T: UIViewController>(toControllerType: T.Type) {
if var viewControllers: [UIViewController] = self.navigationController?.viewControllers {
viewControllers = viewControllers.reversed()
for currentViewController in viewControllers {
if currentViewController .isKind(of: toControllerType) {
self.navigationController?.popToViewController(currentViewController, animated: true)
break
}
}
}
}

以及用动画假弹出然后用动画真弹出,但我总是看到 B。 有很多 SO 线程,我尝试的不仅仅是我上面放的。

情节提要和视图

self.navigationController?.popToRootViewController(animated: true)

只有使用这条线对我有用。

相关内容

  • 没有找到相关文章

最新更新