首页 > 解决方案 > 呈现另一个视图控制器

问题描述

let VC = storyboard?.instantiateViewController(withIdentifier: "PapersMenu")
    VC?.modalTransitionStyle = .flipHorizontal
        self.present(VC!, animated: true, completion: nil)

我正在使用上面的代码来展示一个新的 ViewController。我已将情节提要 ID 指定为“PapersMenu”

我想要做的是,当用户单击表格视图中的任何表格单元格时,我想将用户转发到一个 ViewController,它是“PapersMenu”但是代码不起作用。

标签: swift

解决方案


也许您尝试present在某些非 UIViewController 类中调用方法,因此您的代码将无法正常工作。

let sb : UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let VC = sb.instantiateViewController(withIdentifier: "PapersMenu")

self.present(VC!, animated: true, completion: nil) // where self is subclass of `UIViewController`.

或者使用另一个viewController

let rootController = (UIApplication.shared.delegate?.window!!.rootViewController)!
rootController.present(VC!, animated: true, completion: nil) // when you try to call `present` method in some class, which is not subclass of `UIViewController`.

推荐阅读