iOS 一一 storyBoard中segue实现页面跳转
来源:互联网 发布:淘宝男装夏季 编辑:程序博客网 时间:2024/05/16 23:42
什么是Segue?
在storyBoard上每一根用来界面跳转的线,都是一个UIStoryBoardSegue对象.(简称Segue)
Segue的属性
每一个Segue对象,都有3个属性
给Segue设置唯一标识:
@property (nonatomic, readonly) NSString *identifier;
来源控制器
@property(nonatomic, readonly) id sourceViewController;
目标控制器
@property(nonatomic, readonly) id destinationViewController;
Segue的类型
根据Segue的执行(跳转)时刻,Segue可以分为2大类型.
- 自动型: 点击某个控件后(某个按钮),自动执行Segue,自动完成界面的跳转
- 手动型: 需要通过写代码手动执行Segue,才能完成界面的跳转
注意:
点击'登录'按钮后,就会自动跳转到右边的控制器
如果点击某个控件后,不需要做任何判断,一定要跳转到下一个界面,建议使用自动型Segue
手动型Segue
按住Control键,从来源控制器拖线到目标控制器
手动型的Segue需要设置一个标识
- 在该跳转的时候,使用performSegueWithIdentifier方法执行对应的Segue
[self performSegueWithIdentifier:@"login2contacts" sender:nil];// Segue必须由来源控制器来执行,也就是说,这个perform方法必须由来源控制器来调用
- 如果点击某个控件后,需要做一些判断,满足一定的条件后,才跳转到下一界面,建议使用手动型Segue
performSegueWithIdentifier:sender: 方法的底层实现
手动型Segue可利用此方法来完成界面的跳转.
- 1. 根据传入的identifier 会去storyBoard中找到有没有指定标识的Segue
- 2. 根据指定的标识,创建一个UIStoryboardSegue对象,把当前的控制器设置为源控制器
- segue.sourceViewController = self;
- 3. 然后根据segue去查找目标控制器,给UIStoryboardSegue的目标控制器属性赋值
- segue.destinationViewController.
- 4. 然后调用当前控制器prepareForSegue: 方法,告诉用户,当前的segue已准备好.
- 5. 在prapareForSegue:方法中默认会调用[segue perform]; 方法
prepareForSegue:方法
当执行performSegueWithIdentifier方法后,会调用这个方法
此方法会在跳转到下一控制器之前调用.
注意:
这个方法通常用来做一些控制器之间的数据传递
- 1. 需要接收数据的控制器要定义一个属性,用来接收其他控制器传来的数据
- 2. 数据的来源控制器要拿到 需要接收数据的控制器
- 3. 给需要接收数据的控制器的属性 赋值
控制器之间的数据传递主要有两种情况:顺传和逆传
顺传:
控制器的跳转方法: A -> C
数据的传递方向: A -> C
数据的传递方式:
在A的prepareForSegue:sender:方法中根据segue参数取得destinationViewController,也就是C控制器,
直接给C控制器传递数据
逆传:
控制器的跳转方法: A -> C
数据的传递方向: C -> A
数据的传递方式: 让A称为C的代理,在C中调用A的代理方法,通过代理方法的参数传递数据给A控制器
- iOS 一一 storyBoard中segue实现页面跳转
- iOS中使用storyboard实现页面跳转,Segue详解及简单的数据传递
- iOS中storyboard故事板使用Segue跳转界面、传值
- iOS中storyboard故事板使用Segue跳转界面、传值
- iOS中storyboard故事板使用Segue跳转界面、传值
- IOS Storyboard中使用Segue传值
- IOS Storyboard中使用Segue传值
- IOS Storyboard中使用Segue传值
- iOS 5 Storyboard 控制Segue来跳转用户登录Login
- IOS storyboard 无Segue连接,手动跳转,并传递变量
- iOS segue 页面跳转传值
- ios-Storyboard Segue
- IOS storyboard 的页面跳转
- iOS实现点击按钮,跳转到与mian.storyboard 中与ViewController 关联的页面
- storyboard代码根据segue 跳转
- 使用storyboard实现页面跳转
- Storyboard 里实现页面跳转
- Storyboard 里实现页面跳转
- sql 20170906 left join
- C++回顾(三)智能指针
- NZT提示200;201;202处理方式
- 数据库设计
- Longest Palindromic Substring
- iOS 一一 storyBoard中segue实现页面跳转
- STM32调试支持
- 上传项目到github
- Linux系统下的常用命令
- Unity 5着色器系统代码介绍(下)
- python 安装pip
- ios 内层滚动到顶部或者底部无法滑动问题
- js 类型转换
- IntelliJ IDEA 快捷键列表