在我的项目中,我在TableView中有一个包含3个选项的幻灯片菜单。根据所选的选项,我希望将它们转换为ViewController1,ViewController2或ViewController3,所有这些选项前面都有一个导航控制器。
目前我在Storyboard中使用了一个segue,从原型单元格到ViewController1,其中“segueid”作为标识符,因此所有选项都转到ViewController1。
这是file.swift中准备segue的代码:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "segueid"{
var DestViewController = segue.destinationViewController as! UINavigationController}}
当XCode只允许我从故事板中的单元格设置一个segue时,问题出现了,所以我不能指向VC2和VC3。
根据tableview中选定的行,是否有任何方法可以根据导航控制器的不同视图进行划分?
答案 0 :(得分:2)
您应该在viewcontrollers之间创建segue。
不要从cell到viewcontrollers创建segue。
然后在选择一个单元格后,您应该决定要调用哪个segue。
答案 1 :(得分:1)
我认为它会帮助你。从此链接下载源代码。它的AKSwiftSlideMenu for 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: "")
}
}