码迷,mamicode.com
首页 > 其他好文 > 详细

CATransition

时间:2016-03-31 02:05:55      阅读:266      评论:0      收藏:0      [点我收藏+]

标签:

前言


曾经,笔者对动画一无所知,当他人问起时,总是似懂非懂。每一次别人说起动画效果时,笔者都不好意思插话,因此懂得太少,只是会使用UIView的那几个添加动画的方法。现在,不再等待,一步一步地学习其基础知识并开始尝试写一些常用的动画效果。

如果您也一样迷茫,那就不要迷茫了,实践出真知!!!

基础知识


我们直接看官方声明:

CATransition类继承于CAAnimation类,提供的是过滤的效果,如pushfadereveal等。

type属性是用于指定效果类型,当前官方提供的效果有fademoveInpushreveal. 默认为fade。对于其它类型,如cube立体效果这种官方没有公开,也不清楚是否是使用私有。

subtype属性是可选的,主要用于指定动画的方向。比如动作类动画效果中,有从左边进入、从右边进入等效果。

这两个属性可以设置动画动作的进度,默认为0->1。

filter属性默认为nil,一旦设置了此属性,typesubtype就会被忽略。 这个属性意思就是滤镜的意思吧,它需要实现inputImageinputTargetImageinputTimeoutputImage,当然还有一个可选的inputExtent,不要求实现。

更多基础知识,请参考:CAAnimation精讲

实战练习做动画


先看看我们做效果图:

技术分享

常用的transition动画几乎都有了,而且笔者在学习的同时,也这将些动画封装成了一个类方法,只需要一行代码就可以实现动画效果了哦!

头文件声明

这里只公共了一个方法,并将常用的动画使用一个枚举类型来指定,不用再记着那些单词了。

 

实现文件

其实实现的代码也很简单,只是对枚举类型判断一下,然后添加动画:

 

解析

我们的核心添加动画的代码是:

系统提供给我们一些动画是在UIView上提供的方法,我们可以看看这个枚举:

我们添加动画只需要调用UIView添加动画的方法就可以实现了:

 

测试效果


我们在ViewController这里尝试一下效果,这里只是使用定时器每一秒就自动切换一种效果:

CATransition

标签:

原文地址:http://www.cnblogs.com/jiayongqiang/p/5339664.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!