我的故事板中有两个视图控制器:view1
和view2
。
在view1
中,我使用故事板从其tableview到view2
制作了一个segue。
但现在在view2
中,我已经以编程方式创建了一个按钮,它应该转到另一个实例化的view2
。
单击该按钮时,我创建了一个执行函数:
func buttonPressed(sender: UIButton){
//TODO:- GET NEXT PAGE
self.performSegueWithIdentifier("anotherView2", sender: sender)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if(segue.identifier == "anotherView2"){
let anotherView2Controller = segue.destinationViewController as! View2
...
...
}
}
当然它不起作用,因为没有名为anotherView2
的segue标识符。所以我想以某种方式制作它,但我真的找不到管理它的好方法。
无论如何以编程方式创建segue?我试图从故事板中创建segue,但由于按钮是以编程方式创建的,因此我无法将view2
转换为view2
。
答案 0 :(得分:2)
您想使用presentViewController
代替performSegue
:
// however you want to initialize the new vc
let vc2 : View2 = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("view2.id") as! View2
初始化vc的另一种方法是执行此操作:
let vc2 = View2()
然后设置数据并显示:
vc2.index = index // whatever you want to pass
self.presentViewController(vc2, animated: true, completion: nil)
否则你可以在故事板中创建一个新的视图控制器,但我不推荐它。