IOSiOS开发iOS 开发每天分享优质文章

Segue几种类型(Show、Show Detail、Prese

2016-12-20  本文已影响4288人  pro648

本文不够全面,建议查看View Controller 转场这篇文章。

在iOS中,segue的class为UIStoryboardSegue,用于storyboard中不同视图控制器间转场,即从一个视图控制器转场到另一个视图控制器。Segue的起点必须是一个view或者定义某些操作的对象,如:UIBarButtonItemUIControlUIGestureRecognizer

Segue分为以下几种类型,其中Push、Modal、Popover和Replace已弃用。

在iPhone中有Show、Show Detail、Present Modally、Custom四种不同类型,iPad中有Show、Show Detail、Present Modally、Present as Popover、Custom五种不同类型。

Show

Show Detail

Present Modally

Present as Popover

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

下面GIF演示了Show和Present在新页面出现方式的不同:

Segue.gif

presentViewController: animated: completion: 是用另一个视图控制器替换自己,会根据presentationStyle选择呈现方式。退出时使用dismissViewControllerAnimated: completion: 方法。

showDetailViewController: sender:是一种自适应方法,会根据当前状态进行不同操作,对应退出方法也不同。

参考资料:

  1. View Controller 转场
  2. View Controller Programming Guide for iOS---Using Segues
  3. dismissViewController vs popViewController
  4. What's the difference between all the Selection Segues

本文地址:https://www.jianshu.com/p/36a48e47555d
欢迎更多指正:https://github.com/pro648/tips/wiki

上一篇 下一篇

猜你喜欢

热点阅读