动画时获取UIView的当前帧

Nic*_*nov 0 objective-c uiview uiviewanimation cgrect

我有一个UIView,我想在它动画的同时得到它的当前帧.我正在使用基本动画:

[UIView beginAnimations:@"MoveView" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationDuration:3];
_testView.frame = CGRectMake(0, 100, 40, 40);
[UIView commitAnimations];
Run Code Online (Sandbox Code Playgroud)

我有一个按钮,应该在动画时在第一个当前位置添加另一个UIView,但是当我按下按钮时,它会将它添加到动画的结束位置......有什么建议吗?先感谢您!

vba*_*ali 8

很可能你是根据动画视图的modelLayer设置新添加的UIView属性.让我们尝试根据动画视图设置UIView属性presentationLayer:

此方法返回的图层对象提供了当前正在屏幕上显示的图层的近似值.当动画正在进行时,您可以检索此对象并使用它来获取这些动画的当前值.

CALayer类参考