我正在动画一个简单的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正在为它的动画堆栈存储一个单独的变换并为其设置动画。任何人都知道如何在动画中掌握变换?
答案 0 :(得分:1)
好的,解决了。有点棘手,感觉像黑客,但它的工作原理
我在NSTimer重复调用的方法中查询此内容
CGAffineTransform rot =[viewFinder.layer.presentationLayer affineTransform];
我想人们可以为任何其他财产做同样的事情