zoukankan      html  css  js  c++  java
  • 关于 iOS 基础动画

     

    
    

    1,首先,在iOS中,动画有2种,一种是对 UIView 做动画处理,另一种是对 CALayer做动画。

    这里我们先要搞清楚 UIView 与 CALayer 之间的关系,UIView 是界面的基础元素,是根据CoreAnimation 来绘制的UIView 有个 layer 属性,每个uiview 都有个layer 层,也可以在layer 上添加其他 layer 层。

    下面这段是对 uiview 的动画:

     

    CGContextRef context = UIGraphicsGetCurrentContext(); // 获取图形上下文  
    [UIView beginAnimations:nil context:context]; // 开始动画  
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; //开始和结束时动画效果比较慢,枚举四种过渡效果  
    [UIView setAnimationDuration:2.0]; //动画持续时间  
    [UIView setAnimationDelegate:self];  
    [UIView setAnimationDidStopSelector:@selector(viewFadeOut)]; // 动画结束后执行        [imageview setAlpha:1.0f];  
    [UIView commitAnimations]; // 动画完成


    setAnimationWillStartSelector

     

    动画即将开始执行 

    下面是作用于 layer 层的动画:

    1. CATransition *animation = [CATransition animation];

      [animation setDuration:2.0f];

      [animation setTimingFunction:[CAMediaTimingFunction

      functionWithName:kCAMediaTimingFunctionEaseIn]];

      [animation setType:kCATransitionReveal];

      [animation setSubtype: kCATransitionFromTop];

      [self.view.layer addAnimation:animation forKey:@"animation"];


           setDuration:和UIView中的动画效果一样,持续时间.

           setTimingFunction:是动画的种类,和UIView一样,比如匀速动画,快速开始结束等.

           setType:是指定动画的类型,他有:

     

    1. kCATransitionFade (淡入淡出来补给动画)
    2. kCATransitionMoveIn(从一个方向覆盖的方式来补给动画)
    3. kCATransitionPush(推送的方式来补给动画)
    4. kCATransitionReveal(一个试图展现出另外另外一个试图的方式)
       setSubType:来制定动画的方向,动画方向有4个:
    1. kCATransitionFromRight
    2. kCATransitionFromLeft
    3. kCATransitionFromTop
    4. kCATransitionFromBottom

  • 相关阅读:
    使用dataInput:DescriptionViewer对输入的数据进行校验
    Nunit2.6.2调试.net4类库
    使用WCF RIA服务支持ASP.NET验证
    偶遇 Lc.exe已退出代码为1
    android程序连接后端web service时,提示:Permission denied
    设置XP系统的自动登录
    DomainDataSource的自动刷新
    安装CentOS时,显示 NET:Registered protocol family 2
    清除SqlServer2008的日志
    http://www.cnblogs.com/KnightsWarrior/archive/2010/08/27/1809739.html(博客主)
  • 原文地址:https://www.cnblogs.com/riskyer/p/3268782.html
Copyright © 2011-2022 走看看