首页  >  问答  >  正文

ios - 如何判断CALayer正在做动画?

场景:存在一个UILabel实例,对它做缩放,如何清除知道他正在缩放?

伊谢尔伦伊谢尔伦2765 天前398

全部回复(3)我来回复

  • 迷茫

    迷茫2017-04-18 09:33:36

    没有找到能判断是否正在执行动画的相关的API,只有下面的方法,通过判断isAnimating 来判断

    // 设置初始值(最好使用全局或者属性)
        __block BOOL isAnimating =YES;
        self.transform = CGAffineTransformMakeScale(6, 6);
        [UIView animateKeyframesWithDuration:0.333 delay:0 options:0 animations:^{
            
            
            self.transform = CGAffineTransformMakeScale(1, 1);
        } completion:^(BOOL finished) {
            // 成功回调改为NO
            isAnimating = NO;
            completion();
        }];

    回复
    0
  • ringa_lee

    ringa_lee2017-04-18 09:33:36

    雷雷

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:33:36

    个人感觉 用label的bool属性记录最好

    回复
    0
  • 取消回复