图片执行放大动画后,不能保持放大效果问题解决

    CGPoint fromPoint = imageView.center;
    
     // 路径曲线
    UIBezierPath *movePath = [UIBezierPath bezierPath];
    [movePath moveToPoint:fromPoint];
    CGPoint toPoint = view.center;
    [movePath addLineToPoint:toPoint];

     // 关键帧
    CAKeyframeAnimation *moveAnim = [CAKeyframeAnimation animationWithKeyPath: @" position "];
    moveAnim.path = movePath.CGPath;
    moveAnim.removedOnCompletion = YES;
    
 
    
    
     // 旋转变化
    CABasicAnimation *scaleAnim = [CABasicAnimation animationWithKeyPath: @" transform "];
    scaleAnim.fromValue = [NSValue valueWithCATransform3D:CATransform3DIdentity];
     // x,y轴放大,Z 轴不变
    scaleAnim.toValue = [NSValue valueWithCATransform3D:CATransform3DMakeScale( 4.0, 4.01.0)];
    scaleAnim.removedOnCompletion = YES;
    
     imageView.layer.transform = CATransform3DMakeScale(4.0,4.01.0);
    
     // 关键帧,旋转,组合起来执行
    CAAnimationGroup *animGroup = [CAAnimationGroup animation];
    animGroup.animations = [NSArray arrayWithObjects:moveAnim,scaleAnim,nil];
    animGroup.duration =  1;
    [imageView.layer addAnimation:animGroup forKey: @" transform "];


注意上面红色 部分代码,直接修改图片动画后的效果,这样就能保持动画的效果了。

你可能感兴趣的:(图片)