UIView动画在动画期间确定中心

use*_*774 1 animation center nstimer uiview ios

我正在使用UIView的+ animateWithDuration:delay:options:animations:completion:方法在几秒钟左右的时间内沿着一条线移动我的视图.

我想在这个动画期间的任意时间确定UIView与它正在移动的路径一起.但是当我这样做并尝试访问center或者frame,我发现该位置已经设​​置为它的最终目的地.

我这样做的原因是我每隔0.1秒(或左右)就会有一个NSTimer触发,它将更新父视图以显示UIView以前所在的行.我希望能够在UIView移动时保持更新.

关于如何做到这一点的任何想法?我发现的唯一类似问题是http://forums.macrumors.com/showthread.php?t=1056105,但没有显示解决方案.

或者......有没有更好的方法来做到这一点?

谢谢!

Lil*_*ard 10

UIViews由CALayers支持,它是执行实际动画的图层.CALayer公开一个属性presentationLayer,当访问该属性时,返回CALayer的副本,该副本尽可能地表示用户可见的当前状态.通过询问view.layer.presentationLayer.frame您可以立即获得用户可见的图层框架,这对应于UIView的框架.