What is the role of key path in Core Animation?

▼魔方 西西 提交于 2019-12-07 07:09:58

问题


I'm getting acquanted with Core Animation and trying to implement simple movement along a curve line. i've found really helpful piece of code here

There is a line there:

CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];

Why do we need this property named keyPath? What is its role? The code works only if use the proposed NSString @"position" and nothing else. So is it a built-in constant string? It doesn't look so. Hope you see my confusion. Can you please explain in plain language how do i manage this keyPath property?


回答1:


  • KeyPath says which animatable attribute is going to modified to create animation effect
  • You can use any of the animatable property as keypath
  • You can find them in the header file(say CALayer) on which you apply animation
 /* The position in the superlayer that the anchor point of the layer's
  bounds rect is aligned to. Defaults to the zero point. **Animatable**. */
   @property CGPoint position;
  • Not a constant String , it is attribute name



回答2:


CABasicAnimation and CAKeyframeAnimation are inherited from CAPropertyAnimation. Both use its animationWithKeyPath: method.

KeyPath has to contain Animatable Properties. Find them here Link



来源:https://stackoverflow.com/questions/9717397/what-is-the-role-of-key-path-in-core-animation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!