【发布时间】:2017-05-30 06:08:48
【问题描述】:
我想关闭所有子视图并最终移至根视图控制器。我使用了以下代码
DispatchQueue.main.async {
appDelegate.window?.rootViewController?.dismiss(animated: false, completion:nil)
}
但问题是,在移动到根视图时,它首先显示子视图,然后是根视图。
我该如何解决这个问题?有什么想法吗?
【问题讨论】:
-
试试这个
var vc: UIViewController? = presentingViewController while ((vc?.presentingViewController) != nil) { vc = vc?.presentingViewController } vc?.dismiss(animated: true, completion: { _ in }) -
你试过(UIApplication.shared.keyWindow?.rootViewController as?UINavigationController)?.popToRootViewController(animated: false)
-
问题依然存在。
-
您使用哪种方法显示新的
ViewController... PUSH 或 PRESENT? -
当您跳转到第一个 viewController(在 appdelegate 等中)时,使用相同的代码。
标签: ios swift uiviewcontroller childviewcontroller rootviewcontroller