Segue区别及视图的切换
一、视图切换类型介绍
在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的。
在iphone中,segue有:push,modal,和custom三种不同的类型,这些类型的区别在与新页面出现的方式。
而在ipad中,有push,modal,popover,replace和custom五种不同的类型。
1.modal 模态转换
最常用的场景,新的场景完全盖住了旧的那个。用户无法再与上一个场景交互,除非他们先关闭这个场景。
是在viewController中的标准切换的方式,包括淡出什么的,可以选切换动画。
Modalview:就是会弹出一个view,你只能在该view上操作,而不能切换到其他view,除非你关闭了modalview.
Modal View对应的segue type就是modal segue。
*Modal:Transition to another scene for the purposes of completing a task.当user在弹出的modalview里操作完后,就应该dismiss the modal view scene然后切换回the originalview.
2.push
Push类型一般是需要头一个界面是个Navigation Controller的。
是在navigation View Controller中下一级时使用的那种从右侧划入的方式
*Push:Create a chain of scenes where the user can move forward or back.该segue type是和navigation viewcontrollers一起使用。
popover(iPad only)
popover 类型,就是采用浮动窗的形式把新页面展示出来
*Popover(iPad only):Displays the scene in a pop-up “window” over top of the current view.
*Replace (iPad only):
替换当前scene,
Replace the current scene with another. This is used in some specialized iPad viewcontrollers (e.g. split-view controller).
custom
就是自定义跳转方式啦。
*Custom:Used for programming a customtransition between scenes.
在Storyboard中使用自定义的segue类型
一 、简述
Storyboard是你可以用来定义用户界面的一种新的方式,像xib。
与xib不同的是它可以同时管理多个ViewController,而且可以在Storyboard中配置ViewController 之间的跳转关系。
二、Storyboard使用
如果你是创建新项目,Xcode模版可以提供一个配置好的Storyboard供你使用。对于其它的应用,使用Storyboard的过程如下:
1、配置应用程序Info.plist文件
添加UIMainStoryboardFile ,值为storyboard的文件名。
删除原来的NSMainNibFile
2、像以前创建xib文件一样创建一个storyboard文件
3、配置 storyboard中的viewController
三、Storyboard的创建
你可以用InterfaceBuilder 去为你的应用程序创建一个Stroyboard,一般来说一个应用使用一个 Storyboard就够了,但是如果你想创建多个也是可以的,只要你愿意。一个 Stroyboard应该至少含有一个ViewController。
在iPhone中,对于每一个在Storyboard的ViewController都管理着一个scene,每个scene又管理着screen上的东东,但对于iPad来说,多个scene可以同时呈现在一个screen上。你可以从library中拖拽viewController到你的Storyboard上。
当你想关联两个viewController时,你可以按着control键,用鼠标从一个ViewController中的button,table view cell…拖拽连接到另一个你想跳转到的ViewController,这样就创建了一个segue,不要忘记设置identifier哦。
四、 Scene之间的数据传递
当你从当前 scene中触发一个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不存在,那就去创建它吧。
Segue区别及视图的切换相关推荐
- Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom
一.视图切换类型介绍 在storyboard中,segue有几种不同的类型,在iphone和ipad的开发中,segue的类型是不同的. 在iphone中,segue有:push,modal,和cus ...
- 【逆向工具】IDA使用5-( string、图形化与视图的切换、图形化显示反汇编地址、自动注释、标签使用)...
分析petya病毒时新学会的技巧. IDA技巧1 : string 提取文件中的字符串内容,如果看到一些文件字符串可以定位到关键的函数中. view -> open subview -> ...
- 在多个游戏视图间切换实现效果
2019独角兽企业重金招聘Python工程师标准>>> 在多个游戏视图间切换实现效果 2.2.3 实现效果 将脚本加到CameraSwitch上,并选中此游戏对象,在Inspect ...
- 在多个游戏视图间切换环境准备
在多个游戏视图间切换环境准备 2.2 在多个游戏视图间切换 很多游戏支持玩家切换视角,例如,可以在第一人称视角和第三人称视角间来回切换的<穿越火线>,如图2-7所示.本节就来学习,通过键 ...
- 从一个视图控制器切换到另一个视图控制器的几种方式
从一个视图控制器切换到另一个视图控制器的几种方式 1,模态(modal)画面的显示方法: 例如iphone通讯录管理程序中,追加新的通讯纪录时,就是使用这种模态画面 例:点击一个按钮,进入另一个界面 ...
- ios 顶部tab滑动实现_iOS开发之多表视图滑动切换示例(仿头条客户端)
好长时间没为大家带来iOS开发干货的东西了,今天给大家分享一个头条新闻客户端各个类别进行切换的一个示例.在Demo中对所需的组件进行的简单封装,在封装的组件中使用的是纯代码的形式,如果想要在项目中进行 ...
- Vue - 视图组件切换的方案
目录 前言 roure-view 切换视图组件 v-if 切换视图组件 component 切换视图组件 前言 Vue中切换视图组件的方案大致有三种 1.roure-view 适合大幅度视图切换 2. ...
- Windows环境下的视图之间切换快捷键及几个常用快捷键
最近用到几个快捷键,但是忘记了,要老是用鼠标点来点去的,故特此整理下. 切换窗口的: Alt+Tab - 在打开的项目之间切换 Ctrl+Alt+Tab - 使用方向键在打开的项目中切换 Win +T ...
- 视图间切换的时候的动画效果
push出来的时候: MainView *nextView=[[MainView alloc] init]; [UIView beginAnimations:nil context:NULL]; ...
- 【Xamarin 开发 IOS --IOS 页面导航概念Segue】
Storyboard里面的几种Segue区别及视图的切换:push,modal,popover,replace和custom 一.视图切换类型介绍 在storyboard中,segue有几种不同的类型 ...
最新文章
- Embedding external files using [Embed] (转载:学习如何嵌入外部文件)
- pytorch学习:xavier分布和kaiming分布
- Spring抽取jdbc配置文件
- Server Develop (八) IOCP模型
- map集合遍历的五种方法
- Keba常用硬件模块
- android wear ios表盘,秒杀 Apple Watch,Android Wear 又有 17 款新表盘可以玩啦!
- 【软件测试】简述自顶向下和自底向上两种集成测试方法
- Beginning Python chapter 2 Lists and Tuples:1 Indexing and slicing
- 微信小程序中的列表渲染
- 推荐尽可能看Paul Deitel的英文原著《C how to Program, Sixth Edition》
- IBM 2005-B16 SAN光纤交换机学习笔记
- 相对路径遍历Relative Path Traversal
- 饱和和非饱和激活函数
- 个人永久性免费-Excel催化剂功能第24波-批量发送邮件并指点不同附件不同变量...
- sqlserver查询时间范围
- Java 之 assert (断言)
- 1.Linux常见命令
- 如何实现页面时间动态更新,页面动态刷新
- JAVA Spring 事务管理事务不回滚问题