您当前的位置:首页 > 建站知识 > 编程知识

说说Segue几种类型的区别

发布时间: 2020-04-29 │ 浏览:2403 

Segue用于在StoryBoard上的不同视图控制器间转场,即从一个视图控制器转场到另一个视图控制器。Segue的起点必须是一个view或者定义某些操作的对象。


在StoryBoard中选中一个ViewController,在右侧栏里翻到【连接检查器】:


可以看到Segue的类型有:Relationship、Show、Show Detail、Present Modally、Present As Popover、Embed、Custom。

标上(deprecated)说明已弃用,不用再讲。


Relationship

Tab Bar Controller子页返回主页用的,添加子页时自动有。


Show
一般用在UINavigationController的视图控制器中。
切换方式:进入时由右向左,退出时由左向右。
新压入的视图控制器有返回按钮,单击可以返回。


Show Detail
只适用于嵌入在UISplitViewController对象内的视图控制器,分割控制器用以替换详细控制(DetailViewController)。
不提供返回按钮。


Present Modally
有多种不同呈现方式,可根据需要设置。在iPhone中,一般以动画的形式自下向上覆盖整个屏幕,用户无法与上一个视图交互,除非关闭当前视图;在iPad中,常见呈现为一个中心框,中心框以动画形式自下向上弹出,同时使底层视图控制器变暗。
不提供返回按钮。


Present as Popover
在iPad中,目标视图以浮动窗样式呈现,点击目标视图以外区域,目标视图消失;在iPhone中,默认目标视图以模态覆盖整个屏幕了,所以在iPhone中用不上。

Embed
是容器视图和嵌入在该容器视图中的控制器之间的segue,当你将容器视图添加到控制器视图时,会自动获取该segue。


Custom
自定义跳转,我刚入门,还不懂如何使用。