[英]How to get position during animation which uses CALayer and CGPath in iPhone
hI,
I am workng on animation using CALayer and CAPath.
Here I am animating an Image from top to bottom of screen.I gave starting and ending position for
the animation.Now, I want to get position during the animation.
Sample Code:
- (void)onTimer
{
CGImageRef imageRef = [[UIImage imageNamed:@"apple.png"] CGImage];
int startX = round(random() % 460);
double speed = 1 / round(random() %100) + 1.0;
layer = [CALayer layer];
layer.name = @"layer";
layer.contents = (id)imageRef; // cached image
layer.frame = CGRectMake(startX, self.view.frame.size.height+10, CGImageGetWidth(imageRef), CGImageGetHeight(imageRef));
[mView.layer addSublayer:layer];
path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, startX, -100);
CGPathAddLineToPoint(path, NULL, startX, self.view.frame.size.height+10);
CAKeyframeAnimation *animation= [CAKeyframeAnimation animationWithKeyPath:@"position"];
animation.delegate=self;
animation.duration= 10*speed;
animation.autoreverses=NO;
animation.path=path;
animation.repeatCount = 0;
animation.removedOnCompletion=YES;
animation.calculationMode = kCAAnimationLinear;
[layer addAnimation:animation forKey:@"position"];
CGPoint point= CGPathGetCurrentPoint(path);
}
In this I used "CGPathGetCurrentPoint" method but it did not work. Also used
presentationLayer method of CALayer but uit also did not work in this case.
Can anyone suggest the code to get the position during animation
thanks in advance
通过查看图层的presentationLayer上的属性,可以获得动画期间在屏幕上看到的内容的值。
Core Animation was not designed for this. 核心动画不是为此设计的。 Its job is to handle property animation for you, not expose you to it.
它的工作是为您处理属性动画,而不是让您接触它。
If you want to know its position during animation, then you'll need to do all the animation yourself without Core Animation. 如果您想知道其在动画中的位置,则需要在没有Core Animation的情况下自己制作所有动画。
CGPathGetCurrentPoint()
is a function that accesses control points of CGPath
instances, not Core Animation keyframe animation paths. CGPathGetCurrentPoint()
是访问CGPath
实例的控制点而不是Core Animation关键帧动画路径的函数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.