移动到根视图控制器而不显示子视图

时间:2017-05-30 06:08:48

标签: ios swift uiviewcontroller childviewcontroller rootviewcontroller

我想解雇所有子视图,最后转移到根视图控制器。我使用了以下代码

DispatchQueue.main.async {
        appDelegate.window?.rootViewController?.dismiss(animated: false, completion:nil)
}

但问题是,在移动到根视图时,它首先显示子视图,然后显示根视图。

我该如何解决这个问题?任何想法?

2 个答案:

答案 0 :(得分:0)

使用导航控制器对象的popToRootViewController方法。

ex:[self.navigationController popToRootViewControllerAnimated:YES];

此方法将弹出到根视图控制器,方法是将当前视图控制器之间的所有视图控制器弹出到根视图控制器。

答案 1 :(得分:0)

使用它会解除所有呈现的UIViewController并转到rootViewcontroller

self.view.window!.rootViewController?.dismiss(animated: false, completion: nil)

如果你从其他地方调用它,你需要传递控制器并用控制器替换self