iOS开发之各种动画各种页面切面效果
今天项目有个需求需要用到动画,就在网上搜了一下,搜到一篇博客,把系统的一些动画封装、分类了,而且还有Demo,用起来比较方便,在此为博主点个赞。
-
用CATransition实现动画的封装方法如下:
#pragma CATransition动画实现 #define DURATION 0.25 - (void) transitionWithType:(NSString *) type WithSubtype:(NSString *) subtype ForView : (UIView *) view { //创建CATransition对象 CATransition *animation = [CATransition animation]; //设置运动时间 animation.duration = DURATION; //设置运动type animation.type = type; if (subtype != nil) { //设置子类 animation.subtype = subtype; } //设置运动速度 animation.timingFunction = UIViewAnimationOptionCurveEaseInOut; [view.layer addAnimation:animation forKey:@"animation"]; }
-
代码说明:
CATransition常用的属性如下: duration:设置动画时间 type:稍后下面会详细的介绍运动类型 subtype:和type匹配使用,指定运动的方向,下面也会详细介绍 timingFunction :动画的运动轨迹,用于变化起点和终点之间的插值计算,形象点说它决定了动画运行的节奏,比如是 均匀变化(相同时间变化量相同)还是先快后慢,先慢后快还是先慢再快再慢. * 动画的开始与结束的快慢,有五个预置分别为(下同): * kCAMediaTimingFunctionLinear 线性,即匀速 * kCAMediaTimingFunctionEaseIn 先慢后快 * kCAMediaTimingFunctionEaseOut 先快后慢 * kCAMediaTimingFunctionEaseInEaseOut 先慢后快再慢 * kCAMediaTimingFunctionDefault 实际效果是动画中间比较快.
原博主写的很详细,这里我就不写了,原文请看http://www.tuicool.com/articles/Znq2i2 Demo下载地址:https://github.com/lizelu/CATransitionDemo.git