• 关于 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

  • 相关阅读:
    FPGA-中值滤波
    FPGA-中值滤波
    FPGA-shift_ram代码
    FPGA实现-shift_ram_3x3矩阵实现
    图像处理-中值滤波
    python-str
    ignore-certificate-errors(chrome)
    selenium-python-Cookie跳过登录验证码
    Angular2
    Angular2
  • 原文地址:https://www.cnblogs.com/riskyer/p/3268782.html
Copyright © 2020-2023  润新知