从tableview看到导航控制器之前的视图

在我的项目中,我有一个幻灯片菜单,在TableView中有3个选项。 根据所选的选项,我希望将它们转换为ViewController1,ViewController2或ViewController3,所有这些选项前面都有一个导航控制器。

目前我在故事板中使用了一个segue,从Prototype Cell到ViewController1,其中“segueid”作为标识符,因此所有选项都转到了ViewController1。

这是file.swift中准备segue的代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "segueid"{ var DestViewController = segue.destinationViewController as! UINavigationController}} 

当XCode只允许我从Storyboard中的单元格设置一个segue时,问题出现了,所以我不能指向VC2和VC3。

是否有任何方法可以根据tableview中选定的行来导航到导航控制器前面的不同视图?

您应该在viewcontrollers之间创建segue。

不要从单元格到视图控制器创建segue。

然后,在选择一个单元格后,您应该决定要调用哪个segue。

我认为它会帮助你。 从此链接下载源代码。 它的AKSwiftSlideMenu适用于iOS AKSwiftSlideMenu

它在BaseViewController中有一个方法,您可以在其中设置从storyboard实例化的选定视图控制器作为self.navigationController的根视图控制器。

 func slideMenuItemSelectedAtIndex(index: Int32) { let topViewController : UIViewController = self.navigationController!.topViewController! print("View Controller is : \(topViewController) \n", terminator: "") switch(index){ case 0: print("Home\n", terminator: "") break case 1: print("Play\n", terminator: "") break case 2: print("Camera\n", terminator: "") break default: print("default\n", terminator: "") } }