iOS学习之——自定义转场

iOS中的转场,指的是视图控制器的转场
转场其实就是使得ViewController显示在屏幕上,一共有两种方式:

  1. present 一个视图控制器,在日常开发中,主要体现在使用一个ViewController 模态跳转到另外一个ViewController
  2. 在ContainerViewController 中显示一个视图控制器,这种体现在navigationController 和
    tabbarController 等容器类视图控制器中切换视图控制器,例如导航的push 与 tabbarController的select 一个视图控制器,当然我们自定义的ContainerController中提供的转场也是属于此类。

iOS 7 自定义视图控制器转场的 API 基本上都是以协议的方式提供的,这也使其可以非常灵活的使用,因为你可以很简单地将它们插入到你的类中。最主要的五个组件如下:

  1. 动画控制器 (Animation Controllers) 遵从UIViewControllerAnimatedTransitioning 协议,并且负责实际执行动画。
  2. 交互控制器 (Interaction Controllers) 通过遵从UIViewControllerInteractiveTransitioning 协议来控制可交互式的转场。
  3. 转场代理 (Transitioning Delegates) 根据不同的转场类型方便的提供需要的动画控制器和交互控制器。
  4. 转场上下文 (Transitioning Contexts) 定义了转场时需要的元数据,比如在转场过程中所参与的视图控制器和视图的相关属性。 转场上下文对象遵从UIViewControllerContextTransitioning 协议,并且这是由系统负责生成和提供的。
  5. 转场协调器(Transition Coordinators) 可以在运行转场动画时,并行的运行其他动画。 转场协调器遵从UIViewControllerTransitionCoordinator 协议。

你可能感兴趣的:(ios,animation,转场)