什么能最好地解释CAPropertyAnimation animationWithKeyPath:参数?

时间:2009-07-21 14:15:56

标签: iphone core-animation cakeyframeanimation

我想在

中更好地理解这个参数
+ (id)animationWithKeyPath:(NSString *)keyPath

他们只是说:“要动画的属性的关键路径。”

在一些示例片段中,我看到的内容如下:

CABasicAnimation *fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];

CAKeyframeAnimation *animatedIconAnimation = [CAKeyframeAnimation animationWithKeyPath: @"frameOrigin"];

是否有用于确定正确的密钥路径参数的列表或经验法则?即,当我想为帧的宽度设置动画时,为了获得正确的键路径参数字符串,我必须遵循什么样的规则?

4 个答案:

答案 0 :(得分:18)

例如,如果您正在为UIView的图层属性设置动画,那么请查看CALayer.h - 在这里您可以找到属性不透明度,内联文档提到它是可动画的。或NSView中的frameOrigin。

对于iphone来说,一堆属性是可动画的:

https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreAnimation_guide/AnimatableProperties/AnimatableProperties.html

和mac:

http://developer.apple.com/mac/library/documentation/cocoa/conceptual/CoreAnimation_guide/Articles/AnimProps.html#//apple_ref/doc/uid/TP40005942-SW4

然后有一些扩展:

http://developer.apple.com/mac/library/documentation/cocoa/conceptual/CoreAnimation_guide/Articles/KVCAdditions.html

给你:

[CABasicAnimation animationWithKeyPath:@“transform.scale.x”];

答案 1 :(得分:6)

要了解“关键路径”是什么,您应该了解一下键值编码(KVC)。首先,您应该阅读Key-Value Coding Fundamentals,但最终您应该阅读整个Key-Value Coding Programming Guide。一旦你理解了KVC,其他概念如Key-Value Observing(KVO)将更容易理解。

答案 2 :(得分:0)

CABasicAnimation animationWithKeyPath Types

使用CABasicAnimationQuartzCore Framework的{​​{1}}时,您必须指定Objective-C。这是一个长字符串,不容易列在animationWithKeyPathCABasicAnimationCAPropertyAnimation类中。我最终在Apple的iPhone OS参考库的Core Animation Programming指南中找到了一个方便的图表。希望这有助于节省时间,至少对我而言。

来自:http://www.adamzucchi.com/blog/?p=24

答案 3 :(得分:0)

我使用了animationWithKeyPath:@“hidden”和animationWithKeyPath:@“strokeEnd”。它们没有在下面的链接中列出,所以我想知道必须有更多。