一尘不染

在Swift中关闭并显示View Controller

swift

嗨,我正在尝试提供一个ViewController并关闭我当前的模式视图,但是此代码不起作用

self.dismissViewControllerAnimated(true, completion: {
    let vc = self.storyboard?.instantiateViewControllerWithIdentifier("OrderViewController")
    self.presentViewController(vc!, animated: true, completion: nil)
})

反之亦然在presentviewcontroller的完成块上也不起作用

编辑:替换vc!自我


阅读 489

收藏
2020-07-07

共1个答案

一尘不染

您必须获取呈现自我的viewController(当前ViewController)。如果该视图控制器是rootViewController,则可以使用下面的代码,否则请根据您的视图控制器层次结构对其进行查询。

if let vc3 = self.storyboard?.instantiateViewController(withIdentifier: "vc3") as? ViewController3 {
    let appDelegate = UIApplication.shared.delegate as! AppDelegate
    appDelegate.window?.rootViewController!.present(vc3, animated: true, completion: nil)
}
2020-07-07