iOS自定义转场的实现

转场效果如图

demo

转场动画的实现

FromViewControll.m push之前的控制器
fromvc

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

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

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

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

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

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

总结

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

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

demo

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容