iOS开发中视图相关的小笔记:push、modal、popover、replace、custom
在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的。
在iphone中,segue有:push,modal,和custom三种不同的类型,这些类型的区别在与新页面出现的方式。
而在ipad中,有push,modal,popover,replace和custom五种不同的类型。
modal 模态转换
最常用的场景,新的场景完全盖住了旧的那个。用户无法再与上一个场景交互,除非他们先关闭这个场景。
是在viewController中的标准切换的方式,包括淡出什么的,可以选切换动画。
Modalview:就是会弹出一个view,你只能在该view上操作,而不能切换到其他view,除非你关闭了modalview.
Modal View对应的segue type就是modal segue。
Push类型一般是需要头一个界面是个Navigation Controller的。
是在navigation View Controller中下一级时使用的那种从右侧划入的方式
popover类型,就是采用浮动窗的形式把新页面展示出来
replace类型就是替换
custom就是自定义跳转方式啦。
视图之间的数据传递
当你从当前场景中触发一个segue的时候,系统会自动调用prepareForSegue:sender:这个方法。如果你想从一个界面切换到里另一个界面的时候传递数据,你应该override这个方法。
A -> B
想把数据 NSString A_data 从AController传到BController,则在BController中
@property 一个NSString data
然后在AController中添加方法
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"The segue id is %@", segue.identifier );
UIViewController *destination = segue.destinationViewController;
if ([destination respondsToSelector:@selector(setData:)])
{
[destination setValue:@"这是要传递的数据" forKey:@"data"];
}
}
之后,Bcontroller中的data属性,就接收到数据了。
ViewController之间的跳转
1、如果在 Storyboard中当前的 ViewController和要跳转的ViewController之间的segue存在,则可以执行performSegueWithIdentifier:sender:这个方法实现跳转。
2、如果目标ViewController存在Storyboard中,但是没有segue。你可以通过UIStoryboard的 instantiateViewControllerWithIdentifier:这个方法获取到它,然后再用你想要的方式实现跳转,如:压栈。
3、如果目标ViewController不存在,那就去创建它吧。
转载于:https://www.cnblogs.com/Free-Thinker/p/5001931.html
iOS开发中视图相关的小笔记:push、modal、popover、replace、custom相关推荐
- iOS开发中一些有用的小代码
1.判断邮箱格式是否正确的代码: //利用正则表达式验证 -(BOOL)isValidateEmail:(NSString *)email { NSString *emailRegex = @&quo ...
- iOS 开发中需要注意的小地方
/** 图片长度截取方法 */ - (UIImage *)imageFromImage:(UIImage *)image inRect:(CGRect )rect{CGImageRef sourceI ...
- iOS开发中使用UILabel设置字体的相关技巧小结
这篇文章主要介绍了iOS开发中UILabel设置字体的相关技巧小结,代码基于传统的Objective-C,需要的朋友可以参考下 一.初始化 复制代码代码如下: UILabel *myLabel = [ ...
- iOS开发中键盘样式和自定义键盘。
文章目录 系统自带的样式 自定义键盘 在系统自带键盘基础上自定义键盘 完全自定义键盘 自定义全部类型键盘 系统自带的样式 在iOS开发中系统自带键盘已经有很多样式,但是有时候并不能满足我们都开发需求, ...
- iOS 开发中的 Flux 架构模式
本文讲的是iOS 开发中的 Flux 架构模式, 在半年前,我开始在 PlanGrid iOS 应用程序中采用 Flux 架构(开发).这篇文章将会讨论我们从传统的 MVC 转换到Flux的动机,同时 ...
- iOS 开发中的多线程
线程.进程 什么是线程.进程 有的人说进程就像是人的脑袋,线程就是脑袋上的头发~~.其实这么比方不算错,但是更简单的来说,用迅雷下载文件,迅雷这个程序就是一个进程,下载的文件就是一个线程,同时下载 ...
- iOS开发中标签控制器的使用——UITabBarController
iOS开发中标签控制器的使用--UITabBarController 一.引言 与导航控制器相类似,标签控制器也是用于管理视图控制器的一个UI控件,在其内部封装了一个标签栏,与导航不同的是,导航的管理 ...
- iOS开发UI篇—iOS开发中三种简单的动画设置
[在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要"参与到"动画中 [UIView beginAnimations: ...
- 在iOS开发中使用FMDB
在iOS开发中使用FMDB 前言 SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库.iOS SDK 很早就支持了 SQLite,在使用时,只需 ...
最新文章
- 华为认证物联网开发利器:小熊派IoT开发板
- 嵌入式系统开发过程中遇到的——volatile
- windows下安装pygtk报g_assertion_message无法定位libglib-2.0-0.dll错误解决
- Zookeeper的安装与配置
- Oracle中的Union、Union All、Intersect、Minus
- 语言特性与API设计
- BZOJ 3277 串 BZOJ 3473 字符串 (广义后缀自动机、时间复杂度分析)
- 【Docker系列教程之一】docker入门
- java全局变量和局部变量
- 使用ETag识别ajax,如何使用jQuery AJAX请求访问ETag头?
- qt生成无ui界面动态库,有ui界面的动态库,以及含有资源文件和qss文件的动态库
- ROS中阶笔记(六):机器人感知—机器语音
- 基础才是重中之重~类是怎么执行的
- FreeBSD tips
- 客服机器人代码_企业微信群机器人如何快速集成?无需开发连接微信公众号,表单系统,钉钉,推广,CRM,客服系统和数据库...
- 做python自动化得时候怎么添加断言_python接口自动化(二十四)--unittest断言——中(详解)...
- [UPF]低功耗仿真介绍
- SRVCC关键场景及Log分析
- openssl的部分使用例子
- Python:retrying与tenacity模块失败重跑库
热门文章
- Java连接数据库(3)
- java和C操作数组的一个小区别
- C语言从文件中读入矩阵,并且将矩阵转置
- 面向对象的多态性(2)
- matlab中reshape和repmat函数的用法
- python 内存不足 dict 替代方案_2D数组代表一个巨大的python dict,COOrdinate就像解决方案来节省内存...
- 原根与指标(离散对数)
- maven java 目录结构_java – 为maven目录结构生成的源文件的位置
- A、B、C、D四个字母,能组成多少个互不相同且无重复三位组合
- 最短Hamilton路径-状压dp解法