视频地址: http://www.swiftv.cn/course/i275v5lz
1,动画属性
position(位置),opacity(透明度,0 全透明,1 不透明),Scale(尺寸),Color,Rotate,3D
2,动画曲线
Linear(线性),EaseIn(慢开始),EaseOut(慢结束),EaseInEaseOut
3,CoreAnimation
1)创建球
let redBall = UIView(frame:CGRectMale(50,50,100,100))
redBall.backgroundColor = UIColor.redColor()
redBall.layer.cornerRadius = 50 //半圆
self.view.addSubView(redBall)
2)放大动画
UIView.animateWithDuration(0.5,delay:0,options:UIViewAnimationOptions.CurveEaseInOut,
animations:{()->void in
redBall.transform = CGAffineTransformMakeScale(2,2) //圆放大
},completion:nil)
3)组合动画和位移动画
UIView.animateWithDuration(0.5,delay:0,options:UIViewAnimationOptions.CurveEaseInOut,
animations:{()->void in
//redBall.transform = CGAffineTransformMakeScale(2,2)
redBall.transform = CGAffineTransformConcat(
CGAffineTransformMakeScale(2.0,2.0),
CGAffineTransformMakeTranslation(150,50));
redBall.backgroundColor = UIColor.greenColor()
},completion:nil)
4)弹性动画(加两个参数) spring Animation
UIView.animateWithDuration(
3,
delay:0,
usingSpringWithDamping:0.3, //阻力值
initialSpringVelocity:0, //弹性运动初始速度
options:UIViewAnimationOptions.allZeros,
animations:{()->void in
redBall.transform = CGAffineTransformMakeTranslation(200,0)
},
completion:nil)
4, JNWSpringAnimation
1) CAKeyframeAnimation 关键帧动画
多个关键帧组成动画
可以设置时间间隔
设置位移,缩放等动画属性
2)JNW支持的属性
.position,rotation,scale,corner,shadow,bounds等
3)导入JNW框架
a)获取JNW框架
https://github.com/jwilling/JNWSpringAnimation
b) 拖入项目中,修改版本差异
new group- 文件拖入-创建桥接头文件-加入#import"JNWSpringAnimation.h"
在NSValue+。。。中引入#import<UIKit/UIKit.h>
c)缩放动画
//创建JNW实例
let scale = JNWSpringAnimation(keyPath:"transform.scale")
//阻力
scale.damping = 6
***********************
IOS动画类型
IOS 上的动画实现有三种方式:
1,UIView动画
2,CATransition动画 。主要用于两个视图切换过渡的动画效果
3,CAAnimation动画.IOS核心动画,结合绘图可以实现灵活多变的动画效果