我没有完全使用故事板部分来设计UI,但我确实在VC之间设置了故事板和segue。从我的闪屏,我希望视图控制器从一个改变到下一个,通过segue或编程。
override func viewDidLoad() {
super.viewDidLoad()
let signupButton = UIButton()
signupButton.addTarget(self, action: "pressed:", forControlEvents: .TouchUpInside)
self.view.addSubview(signupButton)
func pressed (sender:UIButton!){
self.performSegueWithIdentifier("RegisterSegue", sender: signupButton)
}
}
这个不起作用(segue的名称是正确的)。谁能给点见解?
按钮动作方法pressed:
必须是视图控制器的顶层函数,不能嵌套在viewDidLoad中
如何执行segue?如果是推送也许你需要在导航控制器中嵌入视图控制器。否则使用present而不是推送视图控制器
你需要重写' prepareforsegue方法'来用新的视图控制器替换当前的视图控制器:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "RegisterSegue") {
if let viewController: NewVC = segue.destinationViewController as? NewVC{
viewController.passData = "Any data you want to pass"
}
}
}