如何在动画制作时获取项目的坐标?

时间:2011-08-11 07:30:06

标签: iphone objective-c ios animation uiview

我可以像这样在屏幕上制作动画:

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; 
     }
 ];

..但如何在动画制作时获取项目的位置?如果我在屏幕上放置一个按钮并使用此操作

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

然后我从中得到的是

x pos:200.00

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

1 个答案:

答案 0 :(得分:1)

查看CALayer的{​​{3}}财产。它保存动画图层的当前值。

您必须导入 QuartzCore 框架。

修改

具体做法是:

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