- 摇摆动画
let animation = CABasicAnimation.init(keyPath: "transform.rotation")
animation.fromValue = -CGFloat.pi / 180.0 * 10
animation.toValue = CGFloat.pi / 180.0 * 10
animation.repeatCount = Float.greatestFiniteMagnitude
animation.duration = 0.35
animation.fillMode = .forwards
animation.autoreverses = true
animation.isRemovedOnCompletion = true
view.layer.add(animation, forKey: nil)
- CAKeyframeAnimation
let keyFrameAnimation = CAKeyframeAnimation()
keyFrameAnimation.keyPath = "transform.scale"
keyFrameAnimation.beginTime = 0.35
keyFrameAnimation.values = [1.3, 0.95, 1.15, 0.97, 1]
keyFrameAnimation.keyTimes = [0, NSNumber(value: 1/5.0), NSNumber(value: 3/5.0), NSNumber(value: 4/5.0), NSNumber(value: 5/5.0), 1]
keyFrameAnimation.duration = 0.5
keyFrameAnimation.repeatCount = 1
keyFrameAnimation.isRemovedOnCompletion = true
KeyPath属性的设置详解:
- transform.scale x,y轴同比放大缩小. 对应的
- transform.scale.x x轴放大缩小
- transform.scale.y y轴放大缩小
- transform.rotation或transform.rotation.z 沿z轴旋转
- transform.rotation.x 沿x轴旋转
- transform.rotation.y 沿y轴旋转
- margin 边距变化
- backgroundColor 背景颜色变化
- cornerRadius 圆角变化
- borderWidth 变得宽度变化
- bounds 大小变化
- contents 内容变化
- contentsRect 内容大小变化
- frame 大小变化
- hidden 是否显示
- mask mask层变化
- masksToBounds ???(有知道的可以评论告诉我)
- shadowColor 阴影颜色
- shadowOffset 阴影位置
- shadowOpacity 阴影透明度
- shadowRadius 阴影圆角
备注:keyPath 对应的 “values” 数组内大多数存的是 NSNumber 对象 。position ,frame 等 存的是 NSValue *value2=[NSValue valueWithCGPoint:CGPointMake(200, 200)]; 这样的对象
网友评论