gpt4 book ai didi

ios - CAAnimationGroup 与 CAKeyframeAnimation 和 CABasicAnimation

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:41:39 26 4
gpt4 key购买 nike

我正在尝试沿曲线路径设置 View 动画并同时缩小它:

CAKeyframeAnimation *pathAnimation = [CAKeyframeAnimation animationWithKeyPath:@"position"];
pathAnimation.calculationMode = kCAAnimationPaced;
pathAnimation.fillMode = kCAFillModeForwards;
pathAnimation.removedOnCompletion = NO;
//Setting Endpoint of the animation
CGPoint endPoint = endCenter;
CGMutablePathRef curvedPath = CGPathCreateMutable();
CGPathMoveToPoint(curvedPath, NULL, viewOrigin.x, viewOrigin.y);
CGPathAddCurveToPoint(curvedPath, NULL, viewOrigin.x+200, viewOrigin.y-150, endPoint.x+100, endPoint.y+10, endPoint.x, endPoint.y);
pathAnimation.path = curvedPath;
CGPathRelease(curvedPath);

// Set up scaling
CABasicAnimation *resizeAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
resizeAnimation.toValue = [NSNumber numberWithDouble:0.4];
resizeAnimation.fillMode = kCAFillModeForwards;
resizeAnimation.removedOnCompletion = NO;

CAAnimationGroup *group = [CAAnimationGroup animation];
group.fillMode = kCAFillModeForwards;
group.removedOnCompletion = YES;
[group setAnimations:[NSArray arrayWithObjects: pathAnimation, resizeAnimation, nil]];
group.duration = 3.7f;
group.delegate = self;
[group setValue:self.myView forKey:@"imageViewBeingAnimated"];

self.myView.center = endCenter;
self.myView.transform = self.myViewTransform;
[self.myView.layer addAnimation:group forKey:@"savingAnimation"];

问题是 View 不是在移动时逐渐缩小,而是立即缩小,然后沿着路径移动。当它明显移动时,我需要缩小。

最佳答案

通过这样做解决:

resizeAnimation.fromValue = [NSNumber numberWithDouble:1.0];

我不明白为什么我必须这样做。似乎它应该从当前转换的默认 fromValue 开始。

关于ios - CAAnimationGroup 与 CAKeyframeAnimation 和 CABasicAnimation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17982509/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com