首頁  >  問答  >  主體

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

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

伊谢尔伦伊谢尔伦2716 天前363

全部回覆(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
  • 取消回覆