• Swift


    1,CAKeyframeAnimation介绍

    CAKeyframeAnimation可以实现关键帧动画,这个类可以实现某一属性按照一串的数值进行动画,就像是一帧一帧的制作出来一样。

    2,使用样例(设置五个关键点坐标,图片依次按关键点移动)
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    let animation = CAKeyframeAnimation(keyPath: "position")
     
    //设置5个位置点
    let p1 = CGPointMake(0.0, 0.0)
    let p2 = CGPointMake(300, 0.0)
    let p3 = CGPointMake(0.0, 400)
    let p4 = CGPointMake(300, 400)
    let p5 = CGPointMake(150, 200)
     
    //赋值
    animation.values = [NSValue(CGPoint: p1), NSValue(CGPoint: p2),
        NSValue(CGPoint: p3), NSValue(CGPoint: p4), NSValue(CGPoint: p5)]
     
    //每个动作的时间百分比
    animation.keyTimes = [NSNumber(float: 0.0), NSNumber(float: 0.4),
        NSNumber(float: 0.6), NSNumber(float: 0.8), NSNumber(float: 1.0), ]
     
    animation.delegate = self
    animation.duration = 6.0
     
    self.imageView.layer.addAnimation(animation, forKey: "Image-Move")


    3,可以设置动画代理,监听开始和结束动作

    1
    2
    3
    4
    5
    6
    7
    8
    9
    animation.delegate = self
     
    override func animationDidStart(anim: CAAnimation!) {
        println("动画开始")
    }
     
    override func animationDidStop(anim: CAAnimation!, finished flag: Bool) {
        println("动画结束")
    }
  • 相关阅读:
    有效的工作,小记
    快排,做个笔记
    git在vs2017中的使用
    正则匹配指定字符之间的内容,并替换(多个匹配替换)
    记一个JS树结构路径查找
    追赶法求三对角矩阵
    vs 2010 Cannot find or open the PDB file
    mysql学习笔记6——用phpmyadmin和在腾讯微云中创建数据库
    mysql学习笔记5
    mysql学习笔记4
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4843451.html
Copyright © 2020-2023  润新知