我想在
中更好地理解这个参数+ (id)animationWithKeyPath:(NSString *)keyPath
他们只是说:“要动画的属性的关键路径。”
在一些示例片段中,我看到的内容如下:
CABasicAnimation *fadeInAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
CAKeyframeAnimation *animatedIconAnimation = [CAKeyframeAnimation animationWithKeyPath: @"frameOrigin"];
是否有用于确定正确的密钥路径参数的列表或经验法则?即,当我想为帧的宽度设置动画时,为了获得正确的键路径参数字符串,我必须遵循什么样的规则?
答案 0 :(得分:18)
例如,如果您正在为UIView的图层属性设置动画,那么请查看CALayer.h - 在这里您可以找到属性不透明度,内联文档提到它是可动画的。或NSView中的frameOrigin。
对于iphone来说,一堆属性是可动画的:
和mac:
然后有一些扩展:
给你:
[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
使用CABasicAnimation
中QuartzCore Framework
的{{1}}时,您必须指定Objective-C
。这是一个长字符串,不容易列在animationWithKeyPath
,CABasicAnimation
或CAPropertyAnimation
类中。我最终在Apple的iPhone OS参考库的Core Animation Programming指南中找到了一个方便的图表。希望这有助于节省时间,至少对我而言。
答案 3 :(得分:0)
我使用了animationWithKeyPath:@“hidden”和animationWithKeyPath:@“strokeEnd”。它们没有在下面的链接中列出,所以我想知道必须有更多。