CAAnimation-代理方法

CAAnimation有两个代理方法分别是

- (void)animationDidStart:(CAAnimation*)anim;

- (void)animationDidStop:(CAAnimation*)anim finished:(BOOL)flag;

我在VC里通过Property创建一个CAAnimationGroup的变量,并且将该实例的代理设置为该VC,但在调用CAAnimation的代理方法时,我利用If(anim == self.animationGroup)去区别不同动画,发现该判断的结果一直都是NO。

将判断条件改为If(anim == [******.layer animationForKey:@"***"]),(这个key值是在为某个layer添加该Animation时设定的Key值)才能判断为YES。

打印了用animationForKey获取的AnimationGroup的地址以及通过self.animationGroup获取的地址,发现是两个完全不同的地址。

因此,在CAAnimation代理方法中若要获取某个Animation去区分动画,需要通过animationForKey的方式获取。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,719评论 6 30
  • Core Animation Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,...
    45b645c5912e阅读 8,179评论 0 21
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,531评论 5 13
  • 1.自定义控件 a.继承某个控件 b.重写initWithFrame方法可以设置一些它的属性 c.在layouts...
    圍繞的城阅读 8,936评论 2 4
  • 1、PCH简介 pch文件是一个预编译文件,在项目文件比较多的情况下,重复导入(#import “XXX.h”)同...
    丶奔波儿灞阅读 1,761评论 0 0