如何获得项目的坐标,而它是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
..这是该项目的最终位置,但不是目前的。 我如何获得最新的?
看看CALayer
的presentationLayer
属性。 它保存了正在animation的图层的当前值。
你将不得不导入QuartzCore框架。
编辑
特别:
#import <QuartzCore/CALayer.h> // ... CGPoint inMotionPosition = myView.layer.presentationLayer.position;