ios CABasicAnimation 动画结束后如何判断是哪个动画结束了

名字被取了 2014-12-03 11:40:44
ios CABasicAnimation 动画结束后如何判断是哪个动画结束了?
例如此三个动画
[xxx.layer addAnimation:animation forKey:@"animationPosition"];
[xxx.layer addAnimation:animation forKey:@"animationPosition1"];
[xxx.layer addAnimation:animation forKey:@"animationPosition2"];
动画结束回调
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
小弟想请问通过什么方法可以知道是哪个动画结束了?
...全文
4878 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 5 楼 u010468378 的回复:
引用
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
  if ([xxx.layer valueForKey:@"animationPosition1"]==anim)
  {
      ........
  }
}
是不正确的 [quote]
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
    DDLogInfo(@"anim--class-->>%@--%@",[anim description],anim);
    
    if ([self.iconImgView.layer animationForKey:IMG_SEL_ANI_KEY] == anim) {
        DDLogInfo(@"selectImgAniGroup----Stop");
    }
 }
这个靠谱!!!!!
天堂宝宝 2015-11-02
  • 打赏
  • 举报
回复
引用
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
  if ([xxx.layer valueForKey:@"animationPosition1"]==anim)
  {
      ........
  }
}
是不正确的 [quote]
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag{
    DDLogInfo(@"anim--class-->>%@--%@",[anim description],anim);
    
    if ([self.iconImgView.layer animationForKey:IMG_SEL_ANI_KEY] == anim) {
        DDLogInfo(@"selectImgAniGroup----Stop");
    }
 }
不担心 2015-06-11
  • 打赏
  • 举报
回复
这个要分析一下具体你是怎么做的 如果你结束后不保留的话最简单的就是设置一下removedOnCompletion
南南南南丶瓜 2015-06-11
  • 打赏
  • 举报
回复
引用 1 楼 disburden 的回复:
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag { if ([xxx.layer valueForKey:@"animationPosition1"]==anim) { ........ } } 还有一个办法,你可以指定每个动画的结束方法 + (void)setAnimationDidStopSelector:(SEL)selector
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag 用这个会出现闪一下的状况怎么办
名字被取了 2014-12-15
  • 打赏
  • 举报
回复
引用 楼主 sjb_yjy 的回复:
ios CABasicAnimation 动画结束后如何判断是哪个动画结束了? 例如此三个动画 [xxx.layer addAnimation:animation forKey:@"animationPosition"]; [xxx.layer addAnimation:animation forKey:@"animationPosition1"]; [xxx.layer addAnimation:animation forKey:@"animationPosition2"]; 动画结束回调 - (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag 小弟想请问通过什么方法可以知道是哪个动画结束了?
谢谢
不担心 2014-12-04
  • 打赏
  • 举报
回复
- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag { if ([xxx.layer valueForKey:@"animationPosition1"]==anim) { ........ } } 还有一个办法,你可以指定每个动画的结束方法 + (void)setAnimationDidStopSelector:(SEL)selector

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧