| 关键词: nbsp 动画 animation CATransition kCAMediaTimingFu 运动 subtype 今天 仿射 type |
今天所介绍的主题是关于动画的,在之前的也有用到动画的地方,今天就好好的总结一下iOS开发中常用的动画。说道动画其中有一个是仿射变换的概念,至于怎么仿射的怎么变换的,原理如何等在本篇中不做赘述。今天要分享的是如和用动画做出我们要做的效果。 今天主要用到的动画类是CALayer下的CATransition至于各种动画类中如何继承的在这也不做赘述,网上的资料是一抓一大把。好废话少说切入今天的正题。 一.封装动画方法 1.用CATransition实现动画的封装方法如下,每句代码是何意思,请看注释之。 1 #pragma CATransition动画实现 2 - (void) transitionWithType:(NSString *) type WithSubtype:(NSString *) subtype ForView : (UIView *) view 3 { 4 //创建CATransition对象 5 CATransition *animation = [CATransition animation]; 6 7 //设置运动时间 8 animation.duration = DURATION; 9 10 //设置运动type 11 animation.type = type; 12 if (subtype != nil) { 13 14 //设置子类 15 animation.subtype = subtype; 16 } 17 18 //设置运动速度 19 animation.timingFunction = UIViewAnimationOptionCurveEaseInOut; 20 21 [view.layer addAnimation:animation forKey:@"animation"]; 22 } 代码说明: CATransition常用的属性如下: duration:设置动画时间 type:稍后下面会详细的介绍运动类型 subtype:和type匹配使用,指定运动的方向,下面也会详细介绍 timingFunction :动画的运动轨迹,用于变化起点和终点之间的插值计算,形象点说它决定了动画运行的节奏,比如是 均匀变化(相同时间变化量相同)还是先快后慢,先慢后快还是先慢再快再慢. * 动画的开始与结束的快慢,有五个预置分别为(下同): * kCAMediaTimingFunctionLinear 线性,即匀速 * kCAMediaTimingFunctionEaseIn 先慢后快 * kCAMediaTimingFunctionEaseOut 先快后慢 * kCAMediaTimingFunctionEaseInEaseOut 先慢后快再慢 * kCAMediaTimingFunctionDefault 实际效果是动画中间比较快. 声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除 |