我必须在给定的时间步长(例如10步或20)中将UIImageView从某个较大的宽度和高度设置为已知的较小宽度和高度。我正在使用CGAffineTransformscale,但我无法知道如何计算单个缩减应该发生的步骤。有没有可以与我分享的公式?
提前致谢,
答案 0 :(得分:0)
最后,对数的实际用途。
请记住
log(X^Y) = log(X) * Y
所以
log(X) = log(X^Y) / Y
所以
X = exp(log(X^Y) / Y)
在这种情况下,X是每一步的比例。 Y是步数。 X ^ Y是您想要的总比例。例如,
Steps = 10;
TotalScale = 0.5;
ScaleEachTime = exp(log(TotalScale) / Steps);
给出(点......因为我在示例中四舍五入)
= exp(log(0.5) / 10)
= exp(-0.693... / 10)
= exp(-0.0693...)
= 0.9330....
因此缩放10次0.9330 ...总得分为0.5