iOS自定义转场的实现

转场效果如图

demo

转场动画的实现

FromViewControll.m push之前的控制器
fromvc

总结来说,在push之前的控制器中只要实现导航控制器的代理方法即可。该方法返回一个遵守``协议的对象,这个对象是来进行转场动画的。

TransitionAnimator.m 执行转场动画的对象
animator class

UIViewControllerTransitioning协议中的两个方法是转场的两个必须方法

-(void)animateTransition:(id )transitionContext 是转场动画执行的位置

通过transitionContext来获取相关的视图及控制器来完成动画

在动画执行完成之后一定要调用转场完成的方法completeTransition:

总结

简单来说一个转场的完成就是两步

  1. fromVc中实现导航控制器代理方法,返回一个转场对象
  2. 创建一个转场对象,这个对象需要遵守UIViewControllerAnimatedTransitioning协议,实现协议方法即可完成

demo

https://github.com/cocacola-ty/demos/tree/master/TransitionExample

你可能感兴趣的:(iOS自定义转场的实现)