【发布时间】:2017-05-25 22:28:19
【问题描述】:
我浏览过大量关于此的 SO 帖子,但没有一个明确说明如何在 Swift 3 中完成此任务。
简单地说,我需要关闭当前显示的视图并打开一个新的视图控制器。这样唯一打开的视图控制器将是第二个 VC
这是我尝试使用的代码,但是当我尝试这样做时,视图控制器会关闭,而其余代码不会被执行
//Close current VC
self.dismiss(animated: true, completion: nil)
//Open the new VC
let mainStoryboard: UIStoryboard = UIStoryboard(name:"Main",bundle:Bundle.main)
let secondViewController: SecondViewController = mainStoryboard.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
self.present(secondViewController, animated: true, completion: nil)
有人可以帮帮我吗?我只需要从第一个 VC 到第二个 VC 的简单过渡并关闭第一个 VC。
【问题讨论】:
-
你为什么要解雇当前的 VC?
-
您解散控制器并将第二个控制器呈现给解散控制器。尝试将视图控制器呈现到 rootviewcontroller 中。
-
正确的方法是委托给 parentVC 来解除你当前的然后预设新的,如果当前是 rootVC 然后只需使用
UIApplication.shared.delegate.window再次设置 rootVC
标签: ios swift3 viewcontroller