我正在为一个缩小的对象制作动画。在任何时候,用户都可以点击按钮来获取对象的当前比例因子。(我首先使用 CGAffineTransformMakeScale 放大对象,因此当它达到其原始大小时,比例因子应该为 1)。我只是不确定如何从动画 UIImageView 中检索当前的比例因子......这是我的代码:
- (void)startShrink {
CGAffineTransform scaleFactor = CGAffineTransformMakeScale(kScaleX, kScaleY);
imageOutline.transform = scaleFactor;
CABasicAnimation *shrink = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
shrink.toValue = [NSNumber numberWithDouble:0.5];
shrink.duration = 2.0;
shrink.fillMode=kCAFillModeForwards;
shrink.removedOnCompletion=NO;
shrink.delegate = self;
[imageOutline.layer addAnimation:shrink forKey:@"shrink"];
}
我尝试了以下方法,但我不确定 m12 是我应该从转换中检索的值。或者如果事实上这是正确的方法:
- (float)calculateScale {
CATransform3D scaleTransform = [(CALayer *)[imageOutline.layer presentationLayer] transform];
float scale = scaleTransform.m12;
NSLog(@"Scale: %g", scale);
return scale;
}
任何建议最受赞赏:)
谢谢,迈克尔。