如何关闭当前呈现控制器并使用导航控制器导航到其他控制器?


self.dismiss(animated: false) {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "ViewController") as! ViewController
self.navigationController?.pushViewController(vc, animated: false)
}

self.navigationController 只有在您的 ViewController 嵌入到 UINavigationController 中时才具有值,否则它将为 nil。 在您的情况下,它是 nil,因此您的控制器已成功关闭,但视图控制器未被推送。

在完成块中使用self.presentingViewController来推送对象。

self.dismiss(animated: false) {
let vc = self.storyboard?.instantiateViewController(withIdentifier: "ViewController") as! ViewController
self.presentingViewController?.navigationController?.pushViewController(vc, animated: false)
}

相关内容

最新更新