Raj*_*han 164

1.显示 - 将目标视图控制器推到导航堆栈上,将源视图控制器移开(目标滑块从右向左滑动),提供后退按钮以导航回源 - 在所有设备上.

示例:在Mail中导航收件箱/文件夹.

2.显示详细信息 - 在UISplitViewController中替换详细/辅助视图控制器,无法导航回上一个视图控制器.

示例:在横向iPad上的邮件中,点击侧边栏中的电子邮件会替换右侧的视图控制器以显示新电子邮件.

3.模态呈现 - 以Presentation选项定义的各种不同方式呈现视图控制器,覆盖以前的视图控制器 - 最常用于呈现从底部动画并覆盖iPhone上整个屏幕的视图控制器,但是在iPad上,通常以中心的盒子格式显示它会使底层视图控制器变暗.

示例:点击iPhone上日历中的+按钮.

4.弹出式演示 - 在iPad上运行时,目标显示在一个小的弹出窗口中,点击此弹出框外的任何位置都会将其关闭.在iPhone上,也支持弹出窗口,但默认情况下,如果它执行Popover Presentation segue,它将在整个屏幕上以模态方式显示目标视图控制器.

示例:点击iPad上的日历中的+按钮(或iPhone,实现它转换为全屏显示,而不是实际的弹出窗口).

5.自定义 - 您可以实现自己的自定义segue,并完全控制其外观和过渡.

  • **显示**细节:_该方法的默认实现调用targetViewController(forAction:sender:)方法来定位视图控制器层次结构中覆盖该方法的对象。然后它调用该目标对象上的方法,**以适当的方式显示视图控制器**。如果 targetViewController(forAction:sender:) 方法返回 nil,则该方法使用窗口的根视图控制器**模态呈现 vc**。_ (2认同)