iOS7 push/pop转场动画

Posted 西贝了爷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS7 push/pop转场动画相关的知识,希望对你有一定的参考价值。

前言

ios 7之后,苹果提供了自定义转场动画的API,我们可以自己去定义任意动画效果。本篇为笔者学习pushpop自定义转场效果的笔记,如何有任何不正确或者有指导意见的,请在评论中留下您的宝贵意见!!!

请注意:如果要求支持iOS 7以下版本,则不可使用此效果。

实现目标效果

我们本篇文章目标效果:

技术分享

视图切换种类

如下效果图,这是有两大类视图切换动画的,一种是交互式的,另一种就是自定义的。

技术分享

本篇只讲其中的UIViewControllerAnimatedTransitioning协议,来实现pushpop动画效果。另外的几个,后面会继续学习总结!!!

协议

我们要实现pushpop自定义转场效果,我们必须要有一个遵守了UIViewControllerAnimatedTransitioning协议且实现其必须实现的代理方法的类。

我们先来学习UIViewControllerAnimatedTransitioning协议:

我们要实现目标效果,就需要一个定义一个类遵守UIViewControllerAnimatedTransitioning协议并实现相应的代理方法。

遵守UIViewControllerAnimatedTransitioning协议

下面,我们来定义一个转场类,这个类必须要遵守UIViewControllerAnimatedTransitioning协议,如下:

我们只需要公开一个工厂方法来生成对象即可,调用更简单些。第个参数用于指定是哪种类型,是push还是pop,第二个参数是用于指定动画时长。

实现文件

我们一步步分析下面的关键代码: