0
我正在缩小对象的动画。在任何时候,用户都可以点击按钮来获取对象的当前比例因子。 (我通过使用CGAffineTransformMakeScale缩放对象开始,因此在达到原始大小时缩放因子应为1)。我只是不知道如何从动画的UIImageView目前的规模系数......这是我的代码:从CABasicAnimation获取比例因子
- (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;
}
任何意见最赞赏:)
谢谢,迈克尔。
大 - m11做的伎俩,谢谢! 这两条线是为了最初将图像按比例缩小4倍,以便在应用动画时,它会从超大尺寸缩小到其原始尺寸的一半。 – Smikey 2010-08-16 14:39:07