Swift - 使用CABasicAnimation实现动画效果

1,CABasicAnimation类只有三个属性:

fromValue:开始值
toValue:结束值
Duration:动画的时间

2,通过animationWithKeyPath键值对的方式设置不同的动画效果
transform.scale
transform.scale.x
transform.scale.y
transform.rotation.z
opacity
margin
zPosition
backgroundColor
cornerRadius
borderWidth
bounds
contents
contentsRect
cornerRadius
frame
hidden
mask
masksToBounds
opacity
position
shadowColor
shadowOffset
shadowOpacity
shadowRadius

3,使用样例

(1)改变透明度动画(逐渐消失)

1
2
3
4
5
6
let animation = CABasicAnimation(keyPath: "opacity")
animation.fromValue = 1.0
animation.toValue = 0.0
animation.duration = 3.0
self.imageView.layer.addAnimation(animation, forKey: "Image-opacity")
self.imageView.alpha = 0


(2)从小变大动画(还原为默认尺寸)

1
2
3
4
5
let animation = CABasicAnimation(keyPath: "bounds.size")
animation.fromValue = NSValue(CGSize: CGSizeMake(2.0, 2.0))
animation.toValue = NSValue(CGSize: self.imageView.frame.size)
animation.duration = 3.0
self.imageView.layer.addAnimation(animation, forKey: "Image-expend")
posted @ 2015-09-28 10:28  brave-sailor  阅读(835)  评论(1编辑  收藏  举报