Проблема при попытке увеличить и уменьшить масштаб UIButton с помощью CAAnimationGroup

#iphone #ios #core-animation #caanimation

#iPhone #iOS #ядро-анимация #caanimation

Вопрос:

нет анимации, потому что я делаю это неправильно?

 -(void)swipeanimateDidStop {

    for (UIView *subview in self.swipingCell.backView.subviews){
        NSLog(@"%@",subview);
        // subview is UIButton
        [subview.layer addAnimation:[self ZoomAnimation] forKey:@"Zoom"];

    }
}

-(CAAnimationGroup *)ZoomAnimation {
    CAAnimationGroup *ZoomAnimation = [CAAnimationGroup animation];
    CABasicAnimation *In = [self zoomIn];

    ZoomAnimation.animations = [NSArray arrayWithObjects: In, nil];
    ZoomAnimation.duration = 2.0f;
    return ZoomAnimation;
}

-(CABasicAnimation *)zoomIn {
    CABasicAnimation *ZoomInAnimation = [CABasicAnimation animationWithKeyPath:@"transform"];
    ZoomInAnimation.beginTime = 0.0f;
    ZoomInAnimation.fromValue = [NSNumber numberWithFloat:20.0];
    ZoomInAnimation.toValue = [NSNumber numberWithFloat:1.0];
    ZoomInAnimation.duration = 2.0f;
    return ZoomInAnimation;
}
  

Ответ №1:

Ошибка в zoomIn методе. Путь к ключу должен быть transform.scale (поскольку это zoom).

 CABasicAnimation *ZoomInAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];