Я пытаюсь анимировать положение слоя. Он оживляет, но его свойство кадра не обновляется в конце анимации, кажется, что это только его презентационный слой. Вот что я делаю:
CGMutablePathRef path = CGPathCreateMutable();
CGPathMoveToPoint (path, NULL, layer.frame.origin.x, layer.frame.origin.y);
CGPathAddLineToPoint(path, NULL, 20, 20);
CGPathAddLineToPoint(path, NULL, 20, 460);
CGPathAddLineToPoint(path, NULL, 300, 460);
CAKeyframeAnimation* animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
animation.path = path;
animation.calculationMode = kCAAnimationPaced;
animation.repeatCount = 0;
animation.autoreverses = NO;
CAAnimationGroup *theGroup = [CAAnimationGroup animation];
theGroup.animations = [NSArray arrayWithObject:animation];
theGroup.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
theGroup.duration = 2;
theGroup.removedOnCompletion = NO;
theGroup.fillMode = kCAFillModeForwards;
CFRelease(path);
[layer addAnimation:theGroup forKey:@"animatePosition"];
После завершения анимации слой находится в правильном месте назначения, но когда я запрашиваю его значение кадра, он говорит, что он все еще находится в своем первоначальном месте! Когда / где / как мы должны привести свойство кадра в синхронизацию со свойством фрейма presentationLayer слоя?
Спасибо