segue传值、返回、回调返回,swift3、storyboard
来源:互联网 发布:软件许可使用证书 编辑:程序博客网 时间:2024/06/04 17:50
- segue跳转传值返回回调回返传值
segue跳转传值,返回,回调回返传值
- segue跳转常用方法
- segue显示模式
- segue传递数据(参数)方法
- segue返回方法
- segue返回传值
- segue跳转方法一,直接跳转
在storyboard中,右击第一个控制器视图中的按钮(或其他控件)拖动到目标控制器视图,在弹出菜单中,选择一个显示模式即可。
- segue跳转方法二,代码跳转
- 1、在storyboard中,选中目标页面,通过最上方的Detail View Controller拖拽到主页面进行segue关联(比如关联到Present Modally)
右键点击目标视图头部黄色的标志(有一个图标中的左边的那个),在出现的菜单中选择“Present Modally”旁边的圆圈,在圆圈上按住左键拖动到主页面。
或者,右键点击主页面视图头部黄色的标志,拖动到目标控制器视图,在弹出的菜单中,选择“Present Modally”。 2、选中关联线,设置segue的 Identifier 属性(这里设置为“goP2Segue”)。
注意,必须要为 segue 设置Identifier属性,否则程序会崩溃。
3、在代码中需要跳转处,执行performSegue方法
self.performSegue(withIdentifier: “goP2Segue”, sender: self)
- segue显示模式
- 在iPhone上可以用到的有modal、push和custom,其他还有几种是iPad上用的:
1、modal:模态地加载视图控制器,最常用的方式,类似present和dismiss;
2、push:使用导航栏压进新的视图控制器,类似push和pop,要使用这个模式,跳转的源视图,也就是主控制器必须是Navigation Controller,否则会报错;
3、custom:用户自定义。 - segue传递数据(参数)
- 覆写prepare(for segue: UIStoryboardSegue, sender: Any?)
示例代码
//segue传值示例代码override func prepare(for segue: UIStoryboardSegue, sender: Any?) { //传值到P1 if segue.identifier == "goP1Segue"{//判断是哪个segue被触发 //设置目标控制器 let controller = segue.destination as!P1ViewController controller.str = "这是segue传值过来的字符串"//直接设置目标控制器的变量 } //传值到P2 if segue.identifier == "goP2Segue"{ let controller = segue.destination as! P2ViewController controller.str = "这是segue传值过来的字符串2"//直接设置目标控制器的变量 }}
- segue返回方法
- 一、dismiss方法返回
示例代码
//注意:不能在Navigation中使用!!!self.presentingViewController!.dismiss(animated: true, completion: nil)
- 二、回调返回(Unwind Segue)
1、在主页面控制器中写一个@IBAction修饰的回调的方法
2、把exit中的回调方法关联到自己的ViewController,(或者直接关联到返回的按钮或其他控件),然后执行performSegue方法://segue回调方法,获取返回参数@IBAction func backSegue(segue : UIStoryboardSegue){ if segue.identifier == "backMainForP1"{ //获取返回的控制器 let backVC = segue.source as! P1ViewController mainLabel.text = backVC.backSting//获取返回值 } if segue.identifier == "backMainForP2"{ //获取返回的控制器 let backVC = segue.source as! P2ViewController mainLabel.text = backVC.backSting//获取返回值 }}
@IBAction func backMainVC(_ sender: Any) { //segue回调返回,把exit中的回调方法关联到自己的ViewController: //关联方法:右击顶部左起第三个图标,选择其中的回调方法,拖到左边第一个按钮,然后点击manual //如果直接把exit中的回调函数拖到返回按钮,则将立即执行返回,按钮函数中的执行结果有可能不能被回调 backSting = "这是P1返回的字符串" //如果直接关联到exit,下面的performSegue方法不需要 performSegue(withIdentifier: "backMainForP1", sender: nil)}
- segue返回传值
- 返回传值与跳转传值类似,直接在回调方法中获取返回控制器中的属性值
示例代码
本文示例代码:https://github.com/zzx1688/segue_ios_demo//segue回调方法,获取返回参数@IBAction func backSegue(segue : UIStoryboardSegue){ if segue.identifier == "backMainForP1"{ //获取返回的控制器 let backVC = segue.source as! P1ViewController mainLabel.text = backVC.backSting//获取返回值 } if segue.identifier == "backMainForP2"{ //获取返回的控制器 let backVC = segue.source as! P2ViewController mainLabel.text = backVC.backSting//获取返回值 }}
0 0
- segue传值、返回、回调返回,swift3、storyboard
- storyboard的segue返回方法
- 关于storyboard 的segue返回方法
- iOS开发使用Unwind Segue进行返回
- IOS Storyboard中使用Segue传值
- IOS Storyboard中使用Segue传值
- IOS Storyboard中使用Segue传值
- storyboard segue 传递数据
- storyboard中的segue
- storyboard segue 传值传参数
- StoryBoard segue 使用步骤
- storyboard之 Segue
- ios-Storyboard Segue
- StoryBoard segue 用法
- [iOS8][Segue转场]转场返回无法绑定的解决办法
- iOS中storyboard故事板使用Segue跳转界面、传值
- tableView点击Cell跳转传值(segue,storyBoard传值)
- iOS中storyboard故事板使用Segue跳转界面、传值
- HDU 1180 诡异的楼梯(BFS+保存自己的状态)
- java并发编程(十三)----(JUC原子类)引用类型介绍(CAS和ABA的介绍)
- [生存志] 第116节 贾谊进献治安策
- 高级电子版 ---- C# 图解教程 ,PDF 电子书
- 不要62
- segue传值、返回、回调返回,swift3、storyboard
- shiro初步 shiro授权
- 【数据结构与算法】 利用哈夫曼树进行文件压缩 (部分借鉴网上内容)
- env: /etc/init.d/nginx: 没有那个文件或目录
- php文件包含目录配置open_basedir的使用与性能分析
- ubuntu下chrome以代理模式启动
- 09-Windows Server 2012 R2 会话远程桌面-标准部署-使用PowerShell进行部署2-2
- [python3教程]第四章.定义函数
- DP(01背包) HDU-2159 FATE