iOS开发之各种动画各种页面切面效果

 

今天项目有个需求需要用到动画,就在网上搜了一下,搜到一篇博客,把系统的一些动画封装、分类了,而且还有Demo,用起来比较方便,在此为博主点个赞。
Mou icon

Mou icon

  1. 用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"];
      }
    
  2. 代码说明:

    CATransition常用的属性如下:
    
    duration:设置动画时间
    
    type:稍后下面会详细的介绍运动类型
    
    subtype:和type匹配使用,指定运动的方向,下面也会详细介绍
    
    timingFunction :动画的运动轨迹,用于变化起点和终点之间的插值计算,形象点说它决定了动画运行的节奏,比如是
    
    均匀变化(相同时间变化量相同)还是先快后慢,先慢后快还是先慢再快再慢.
    
    *  动画的开始与结束的快慢,有五个预置分别为(下同):
    
    *  kCAMediaTimingFunctionLinear            线性,即匀速
    
    *  kCAMediaTimingFunctionEaseIn            先慢后快
    
    *  kCAMediaTimingFunctionEaseOut           先快后慢
    
    *  kCAMediaTimingFunctionEaseInEaseOut     先慢后快再慢
    
    *  kCAMediaTimingFunctionDefault           实际效果是动画中间比较快.
    

原博主写的很详细,这里我就不写了,原文请看http://www.tuicool.com/articles/Znq2i2 Demo下载地址:https://github.com/lizelu/CATransitionDemo.git

posted @ 2016-01-07 12:46  CodingMann  阅读(203)  评论(0编辑  收藏  举报