Что лучше всего объясняет параметр CAPropertyAnimation animationWithKeyPath:? - PullRequest
15 голосов
/ 21 июля 2009

Я бы хотел лучше понять этот параметр в

+ (id)animationWithKeyPath:(NSString *)keyPath

Они просто говорят: «Ключевой путь свойства, которое нужно анимировать.»

В некоторых примерахфрагменты я вижу такие вещи, как:

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

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

Есть ли список или правило для определения правильного параметра пути ключа?т.е. когда я хочу анимировать ширину кадра, каким правилам я должен следовать, чтобы получить правильную строку параметра ключевого пути?

Ответы [ 4 ]

18 голосов
/ 22 апреля 2010

Например, если вы анимируете свойство layer для UIView, посмотрите CALayer.h - здесь вы можете найти свойство opacity, а во встроенном документе указано, что оно анимируемое. Или frameOrigin в NSView.

Куча свойств анимируема, для 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"];

6 голосов
/ 22 июля 2009

Чтобы понять, что такое «ключевой путь», вы должны немного узнать о кодировании значения ключа (KVC). Для начала вы должны прочитать Основы кодирования значения ключа , но в конечном итоге вам следует прочитать полное руководство по программированию кодирования значения ключа . Как только вы поймете KVC, другие концепции, такие как Key-Value Observing (KVO), станут намного легче понять.

0 голосов
/ 08 января 2014

Я использовал animationWithKeyPath: @ "hidden" и animationWithKeyPath: @ "strokeEnd". Они не перечислены в ссылке ниже, так что мне интересно, должно быть еще много.

0 голосов
/ 24 января 2013

CABasicAnimation animationWithKeyPath Types

При использовании CABasicAnimation из QuartzCore Framework в Objective-C необходимо указать animationWithKeyPath. Это длинная строка, и ее нелегко перечислить в классах CABasicAnimation, CAPropertyAnimation или CAAnimation. В итоге я нашел удобную диаграмму в руководстве по программированию базовой анимации в справочной библиотеке Apple OS по iPhone. Надеюсь, это поможет кому-то сэкономить время, по крайней мере, для меня.

От: http://www.adamzucchi.com/blog/?p=24

...