Swift-->UIViewController的跳转,参数传递,返回参数
UIViewController的跳转,可以在Storyboard里面通过拖拽Segue进行跳转,也可以在代码中进行跳转. 本文分别介绍这2种方式. 1:Storyboard的方式 跳转,传递参数 接着选中中间的曲线,在右边的属性窗口中 为segue添加 identifier (唯一哦) 之后,在Button所在的ViewController中重写prepareForSegue方法 override func prepareForSegue(segue: UIStoryboardSegue,sender: AnyObject?) {
if segue.identifier == "navTest" {//注意此处.
var params: String
params = "参数"
//主要就是通过类型强转,然后通过拿到的对象进行成员变量的赋值,相对于Android,这真的是简单粗暴
let nav2Controller = segue.destinationViewController as! ViewController2
nav2Controller.param = params
}
}
2:通过代码的方式 跳转,传递参数 首先,选中一个 ViewController,为 Storyboard 添加一个唯一标识id @IBAction func onTestNav() {
if let testVC = self.storyboard?.instantiateViewControllerWithIdentifier("testStory") {
let vc = testVC as! TestViewController
vc.modalTransitionStyle = .CrossDissolve // 选择过渡效果
vc.params = "参数传递" // 参数赋值
self.presentViewController(vc,animated: true,completion: nil)
}
}
3:返回参数 首先在需要接受返回值的ViewController中,添加一个func(如下) @IBAction func onClose(segue: UIStoryboardSegue) {
//同样也是暴力的强转...
let nav2 = segue.sourceViewController as! ViewController2
print(nav2.backParam)
}
其次在Storyboard中(操作如下): 4:通过delegate返回参数 其次,在跳转的时候,为delegate 赋值. ViewController还需要实现这个Protocol 这样就完成了,delegate的参数返回传递. 至此: 文章就结束了,如有疑问: QQ群 Android:274306954 Swift:399799363 欢迎您的加入. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |