UI进阶第八发:Suege和Modal
来源:互联网 发布:java jdk版本查看 编辑:程序博客网 时间:2024/05/01 05:30
Segue 是storyboard用来页面跳转的线 ——> UIStiryboardSegue 对象
1.三个必备属性:
唯一标识:indetifier
来源控制器(在左边)sourceViewController
目标控制器 (在右边) destinationViewController
2.分类:(Segue根据跳转形式 )
自动型Segue:(点击按钮之后,不需要做判断的时候)
手动型Segue:(需要做判断,满足时跳转)
从来源控制器拖线到目标控制器
需要设置标识,
然后源控制器调用:performSegueWithIdentifier进行跳转,
[self performSegueWithIdentifier:@“” sender:nil];
self 是来源控制器
1>.根据indentifier去storyboard中找到对应的线,然后新建UIStoryboardSegue对象
设置Segue对象的(来源控制器)sourceViewController segue. sourceViewController = self ;
新建(目标控制器) ContactViewController 设置 segue.destinationViewController = ContactViewController ;
2>.执行跳转,跳转之前调用Segue的[self prepareForSegue:segue sender:nil]做好准备工作,传入创建好的Segue对象,开始执行页面跳转操作
3>.取得sourceViewController所在的UINavigationController
调用UINavigationController 的 push 方法将desctinationViewController压入栈中完成跳转
Modal:(除了push之外,还有另外一种控制器的切换方式)
1.任何控制器都能通过Modal的形式展示出来
2.Modal的默认效果:新控制器从屏幕的最底部往上钻,直到盖住之前的控制器为止
3.以Modal的形式展示控制器
- (void)presentViewController:(UIViewController *)viewControllerToPresent animated: (BOOL)flag completion:(void (^)(void))completion
关闭当初Modal出来的控制器
- (void)dismissViewControllerAnimated: (BOOL)flag completion: (void (^)(void))completion;
4、内部机制
(1)弹出之后,window上面只有一个子视图。
(2)虽然当前界面上展示在我们眼前的时twoview,但是window的根控制器仍然是NJviewController,它并没有切换window的根控制器,而仅仅只是换了window上面显示的视图。
(3)移除的视图并没有销毁,因为控制器并没有销毁,所以控制器对应的view也没有销毁。
(4)在模态弹出(完全显示后),在方法中传入two作为参数,默认就有一个控制器强引用着它。
(5)当向下移除之后,只要调用了控制器的dismiss方法让窗口关闭,modal就释放了。
(6)通常弹出的模态窗口都会提供一个导航条,让界面拥有导航条的最快的方式是给它包装一个导航控制器。
(7)如果一个控制器是以模态的形式展现出来的。可以调用该控制器以及该控制器的子控制器,让该控制器消失。
- UI进阶第八发:Suege和Modal
- UI进阶第二发:导航控制器属性和基本使用
- UI进阶第一发:UIApplication
- UI进阶第九发:触摸
- UI进阶第二发:控制器的创建
- UI进阶第三发:UIWindow简单介绍
- UI进阶第七发:UITabBarController简单介绍
- UI进阶第九发:iOS常用事件
- UI进阶第二发:多控制器和导航控制器简单介绍
- UI进阶第四发:Date Picker和UITool Bar控件简单介绍
- UI进阶第九发:iOS事件产生和传递过程(包括底层)
- UI进阶第二发:控制器的View的创建
- UI进阶第六发:ios应用数据存储方式(归档)
- UI进阶第七发:UITabBarController生命周期(使用storyoard搭建)
- UI进阶第九发:iOS事件的响应者链条
- UI进阶第十发:Quartz 2D绘制饼图
- UI进阶第十发:Quartz 2D手势识别
- UI进阶第十发:Quartz 2D CAlayer
- UI进阶第七发:UITabBarController简单介绍
- java中相对路径,绝对路径问题总结(转)
- 你必须了解的第一个python程序
- 进程环境
- 黑马程序员-IOS-OC基础-面向对象语法三
- UI进阶第八发:Suege和Modal
- vnc不显示ubuntu桌面环境的解决方案之一
- 进程控制
- UI进阶第九发:iOS常用事件
- UI进阶第九发:iOS事件产生和传递过程(包括底层)
- iOS开发者如何提高自己的水平?
- UI进阶第九发:iOS事件的响应者链条
- 信号
- Java笔记整理——数字处理类