I'd like to have a better understanding of this parameter in
+ (id)animationWithKeyPath:(NSString *)keyPath
They just say: "The key path of the property to be animated."
In some example snippets I see things like:
CABasicAnimation *fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
CAKeyframeAnimation *animatedIconAnimation = [CAKeyframeAnimation animationWithKeyPath: @"frameOrigin"];
Is there a list or rule of thumb for determining the correct key path parameter? i.e. when I want to animate the width of a frame, what kind of rules would I have to follow to get to the correct key path parameter string?
Well for example if you're animating the layer property of a UIView, then check out CALayer.h - here you can find the property opacity, and the inline doc mentions that it is animatable. Or frameOrigin in NSView.
A bunch of properties are animatable, for iphone:
and mac:
And then there are some extensions:
to give you:
[CABasicAnimation animationWithKeyPath:@"transform.scale.x"];