Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios “的目的是什么?”;“福基”;向图层添加动画时的参数?_Ios_Core Animation - Fatal编程技术网

Ios “的目的是什么?”;“福基”;向图层添加动画时的参数?

Ios “的目的是什么?”;“福基”;向图层添加动画时的参数?,ios,core-animation,Ios,Core Animation,我对iOS编程、Objective-C和一般编程都很陌生,所以如果您觉得这个问题令人沮丧地简单,请原谅 苹果网站上的文档通常都很好,但我在尝试将我的头脑集中在核心动画的某些部分时遇到了一些麻烦。我想显式地设置CALayer位置的动画。据我所知,我需要创建一个CABasicAnimation对象,使用fromValue、toValue等对其进行配置,然后使用以下方法将其添加到图层: - (void)addAnimation:(CAAnimation *)anim forKey:(NSString

我对iOS编程、Objective-C和一般编程都很陌生,所以如果您觉得这个问题令人沮丧地简单,请原谅

苹果网站上的文档通常都很好,但我在尝试将我的头脑集中在核心动画的某些部分时遇到了一些麻烦。我想显式地设置CALayer位置的动画。据我所知,我需要创建一个CABasicAnimation对象,使用fromValue、toValue等对其进行配置,然后使用以下方法将其添加到图层:

- (void)addAnimation:(CAAnimation *)anim forKey:(NSString *)key
我的问题是我不知道
forKey:
参数的意义是什么。从我在网上看到的例子来看,它不是必需的?我想这和键值编码有关吧?(我也不太明白。)即使它不是必需的,我想知道它是什么,这样我就可以在我的应用程序中利用它的有用性


感谢您提供的帮助。

CALayer提供了几种方法来获取添加到层中的动画。如果要从中获取、替换或删除特定动画,则在调用animationForKey:或removeAnimationForKey:时必须为其指定关键帧


您不必提供关键点,如果不需要按关键点查找特定动画,您可以对关键点使用
nil

它允许您覆盖动画。例如,通过修改隐式可设置动画的属性(例如
不透明度
)创建的隐式动画将使用该属性的名称作为关键帧。这样,如果您再次修改它(以生成新动画),新动画将替换旧动画,而不是尝试同时运行两个动画。

它只是动画的一些标识符。稍后可以使用指定的键调用
animationForKey:
removeAnimationForKey:
方法


另外,因为层每个唯一关键点可能只有一个动画,所以您可以使用此值作为某些类型动画的标识符,并且所有
…ForKey:
方法将返回/删除/替换给定动画类型/关键点的最新动画。

同意Kevin的观点。当有显式动画时,指定forKey属性的功能可以停止隐式动画的运行。WWDC 2010年第424期视频(实践中的核心动画,第1部分-)对此进行了很好的解释。这比我能解释的好得多。