获取动画属性的值

时间:2010-11-16 22:40:36

标签: iphone animation

我正在动画一个简单的UIView变换,并希望能够在动画期间访问变换的值。

[UIView beginAnimations:nil context:NULL];     [UIView setAnimationDuration:0.7];

CGAffineTransform rot=CGAffineTransformMakeRotation(90);
CGAffineTransform scale=CGAffineTransformMakeScale(1, 4.0f/3.0f);
viewFinder.transform=CGAffineTransformConcat(scale, rot);

[UIView commitAnimations];

然而,当我提交动画并开始查询viewFinder.transform.a时,我得到初始值,然后只有在动画结束后才能获得更新版本。 所以我感觉CoreAnimation正在为它的动画堆栈存储一个单独的变换并为其设置动画。任何人都知道如何在动画中掌握变换?

1 个答案:

答案 0 :(得分:1)

好的,解决了。有点棘手,感觉像黑客,但它的工作原理

我在NSTimer重复调用的方法中查询此内容

CGAffineTransform rot =[viewFinder.layer.presentationLayer affineTransform];

我想人们可以为任何其他财产做同样的事情