一尘不染

从模式弹出到根视图控制器

swift

我正在尝试使用以下代码弹出到根视图控制器:

self.navigationController!.popToRootViewController(animated: true)

这通常可行,但是当当前视图是模式视图时,尝试使用此代码时出现错误。在这种情况下,我该如何跳回到根视图控制器?

提前致谢。


阅读 225

收藏
2020-07-07

共1个答案

一尘不染

您可以检查当前控制器是否存在,如果存在,则将其关闭,然后rootViewController直接转到当前控制器。rootViewController

if self.presentingViewController != nil {
    self.dismiss(animated: false, completion: { 
       self.navigationController!.popToRootViewController(animated: true)
    })
}
else {
    self.navigationController!.popToRootViewController(animated: true)
}
2020-07-07