15

我想更好地理解这个参数

+ (id)animationWithKeyPath:(NSString *)keyPath

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

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

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

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

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

4

4 回答 4

18

例如,如果您正在为 UIView 的 layer 属性设置动画,请查看 CALayer.h - 在这里您可以找到属性 opacity,并且内联文档提到它是可动画的。或者 NSView 中的 frameOrigin。

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

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

和麦克:

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"];

于 2010-04-21T20:42:30.913 回答
6

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

于 2009-07-22T05:33:55.093 回答
0

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

于 2014-01-08T02:21:30.253 回答
0

CABasicAnimation animationWithKeyPath 类型

当使用CABasicAnimationfrom the QuartzCore Frameworkin 时Objective-C,您必须指定一个animationWithKeyPath. 这是一个长字符串,不容易在CABasicAnimationCAPropertyAnimationCAAnimation类中列出。我最终在 Apple 的 iPhone OS 参考库的核心动画编程指南中找到了一个方便的图表。希望这有助于节省一些时间,至少对我来说是这样。

于 2013-01-24T09:57:57.437 回答