What is the full Keypath list for CABasicAnimation?

SwiftyJD picture SwiftyJD · May 28, 2017 · Viewed 8k times · Source

I've looked in the documentation but I noticed it's missing some like "transform.scale.xy": [CoreAnimation Guide][1] is there a more complete list?

Answer

drewster picture drewster · Mar 25, 2018

Here's everything I'm aware of in terms of animatable properties, keyPaths, and key-value coding extensions.

CALayer Animatable layer properties -- the other CALayer types below all inherit from CALayer, so these also apply to those:

anchorPoint
backgroundColor
backgroundFilters
borderColor
borderWidth
bounds
compositingFilter
contents
contentsRect
cornerRadius
doubleSided
filters
frame
hidden
mask
masksToBounds
opacity
position
shadowColor
shadowOffset
shadowOpacity
shadowPath
shadowRadius
sublayers
sublayerTransform
transform
zPosition

CAEmitterLayer animatable properties:

emitterPosition
emitterZPosition
emitterSize

CAGradientLayer animatable properties:

colors
locations
endPoint
startPoint

CAReplicatorLayer animatable properties:

instanceDelay
instanceTransform
instanceRedOffset
instanceGreenOffset
instanceBlueOffset
instanceAlphaOffset

CAShapeLayer animatable properties:

fillColor
lineDashPhase
lineWidth
miterLimit
strokeColor
strokeStart
strokeEnd

CATextLayer animatable properties:

fontSize
foregroundColor

CATiledLayer animatable properties:

I feel like tileSize is animatable, but documentation doesn't agree.

CATransform3D Key-Value Coding Extensions:

rotation.x
rotation.y
rotation.z
rotation
scale.x
scale.y
scale.z
scale
translation.x
translation.y
translation.z

CGPoint keyPaths:

x
y

CGSize keyPaths:

width
height

CGRect keyPaths:

origin
origin.x
origin.y
size
size.width
size.height

These are Appendix B of the Core Animation Programming Guide, and Appendix C of the same.