zoukankan      html  css  js  c++  java
  • CAniamtion 基本使用

    
    
    CAAnimation(抽象)<NSCoding, NSCopying, CAMediaTiming, CAAction>
    QuartzCore框架的基本继承结构

               -> 
    CATransition
    CAAnimation(抽象) -> CAPropertyAnimation -> CABasicAnimation
                             ->
    CAKeyframeAnimation
               -> 
    CAAnimationGroup
     
     






    //
    渐变 UIButton *b = (UIButton *)sender; CATransition *transition = [CATransition animation]; transition.type = kCATransitionPush; transition.subtype = kCATransitionFromRight; [self.imageview.layer addAnimation:transition forKey:@"transition"]; self.imageview.image = [UIImage imageNamed:@"avatar.jpg"]; //基本 CABasicAnimation *baseProperty = [CABasicAnimation animationWithKeyPath:@"transform.scale"]; baseProperty.fromValue = [NSNumber numberWithDouble:1.0]; baseProperty.toValue = [NSNumber numberWithDouble:0.4]; baseProperty.duration = 1.0; baseProperty.removedOnCompletion = NO; baseProperty.fillMode = kCAFillModeForwards; baseProperty.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; [self.imageview.layer addAnimation:baseProperty forKey:@"baseProperty"]; //关键帧 //动画组 CAKeyframeAnimation *keyFrameAniamtion = [CAKeyframeAnimation animationWithKeyPath:@"position"]; CGMutablePathRef mutablePath = CGPathCreateMutable(); CGPathMoveToPoint(mutablePath, NULL, self.imageview.frame.origin.x, self.imageview.frame.origin.y); CGPathAddLineToPoint(mutablePath, NULL, 0, 0); keyFrameAniamtion.path = mutablePath; keyFrameAniamtion.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]; CAKeyframeAnimation *keyframe2 = [CAKeyframeAnimation animationWithKeyPath:@"transform.rotation"]; NSArray *values2 = [NSArray arrayWithObjects:[NSNumber numberWithFloat:0], [NSNumber numberWithFloat:(M_PI * 10)], nil]; keyframe2.values = values2; keyframe2.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn]; CAAnimationGroup *group = [CAAnimationGroup animation]; group.removedOnCompletion = NO; group.fillMode = kCAFillModeForwards; group.animations = [NSArray arrayWithObjects:keyFrameAniamtion, keyframe2, nil]; group.duration = 2.0; [self.imageview.layer addAnimation:group forKey:@"group"];
  • 相关阅读:
    图像分割学习笔记_1(opencv自带meanshift分割例子)
    基础学习笔记之opencv(10):Mat mask操作
    Qt学习之路_6(Qt局域网聊天软件)
    Qt学习之路_8(Qt中与文件目录相关操作)
    Android开发历程_6(RadioButton和CheckBox的使用)
    Qt学习之路_4(Qt UDP的初步使用)
    目标跟踪学习笔记_4(particle filter初探3)
    Reading papers_11(读Integrating local action elements for action analysis相关文章)
    基础学习笔记之opencv(8):Mat 基本图像容器
    基础学习笔记之opencv(14):随机数发生器&绘制文字
  • 原文地址:https://www.cnblogs.com/apem/p/4608196.html
Copyright © 2011-2022 走看看