如何获得项目的坐标,而它是animation?

我可以像这样在屏幕上制作一些animation:

aView.frame = CGRectMake(100,100,50,50); [UIView animateWithDuration:25.0 delay:0.0 options:UIViewAnimationCurveLinear animations: ^{ aView.frame = CGRectMake(200,100,50,50); } completion:^(BOOL finished) { aView.hidden = YES; } ]; 

..但是如何获得物品在animation时的位置? 如果我把一个button在屏幕上,并使用此操作

 -(IBAction)buttonTapped:(id)sender { NSLog(@"x pos:%f", aframe.origin.x)l } 

那么我所得到的就是

 x pos:200.00 

..这是该项目的最终位置,但不是目前的。 我如何获得最新的?

看看CALayerpresentationLayer属性。 它保存了正在animation的图层的当前值。

你将不得不导入QuartzCore框架。

编辑

特别:

 #import <QuartzCore/CALayer.h> // ... CGPoint inMotionPosition = myView.layer.presentationLayer.position;