打开以编程方式连接到导航控制器的View Controller

时间:2017-05-14 11:00:54

标签: ios swift xcode akswiftslidemenu

interfa builder flow我使用AKSwiftSlideMenu作为应用的基础。

我有一个连接到导航控制器的视图控制器(HomeVC)。

如果故事板入口点指向HomeVC,那么我当然会得到菜单,但是我的应用程序需要在没有菜单的情况下启动,并且只有在完成某些屏幕和任务后我才能导航到HomeVC并允许用户访问菜单。

我注意到如果ai在一个没有连接到导航控制器的起始视图控制器上放置一个按钮,并通过拖动+控制将该按钮直接连接到导航控制器,然后按下该按钮将使我从一个视图控制器没有菜单到HomeVC并显示菜单。

我如何以编程方式执行此操作

提前感谢您提供任何帮助

编辑:我已经尝试了以下代码

    let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let newViewController = storyBoard.instantiateViewController(withIdentifier: "Home") as! UINavigationController
    self.present(newViewController, animated: true, completion: nil)

由于以下错误导致无效

无法转换类型&my; myApp.HomeVC' (0x10a159280)到' UINavigationController' (0x10cc2d3c8)。

2 个答案:

答案 0 :(得分:0)

let newViewController = storyBoard.instantiateViewController(withIdentifier: "Home") as! UINavigationController
s

“Home”不是UINavigationController。从此行中删除as! UINavigationController,错误就会消失。

答案 1 :(得分:0)

谢谢Daniel告诉我实例化导航控制器。结束为导航控制器提供一个名为ccontroller的故事板ID,以下代码执行我需要的操作

    let storyboard = UIStoryboard(name: "Main", bundle: nil)
    let vc = storyboard.instantiateViewController(withIdentifier: "ccontroller") as! UINavigationController
    self.present(vc, animated: true, completion: nil)