gpt4 book ai didi

ios - 在同一个动画中使用两个不同的 UIView Animation Curves

转载 作者:可可西里 更新时间:2023-11-01 04:31:21 25 4
gpt4 key购买 nike

我希望能够使用一个 UIViewAnimationCurve 进行旋转,而另一个用于改变位置。这可能吗?

例如(伪代码);

// Begin animations

// Set rotation animation curve to EaseInOut

// Set position animation curve to Linear

// Make some changes to position

// Make some change to the angle of rotation

// Commit the animations

编辑:(下面建议的 CAAnimationGroup 方法)- 已经创建了 2 个单独的 CABasicAnimations 和一个 CAAnimationGroup,但是动画没有开始。有什么想法吗?

CABasicAnimation *postionAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
postionAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
postionAnimation.toValue = [NSValue valueWithCGPoint:[self transformPointToWorldSpaceFromViewSpace:self.spriteView.position]];
postionAnimation.delegate = self;

CABasicAnimation *rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.z"];
rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
rotationAnimation.toValue = [NSNumber numberWithFloat:self.spriteView.angle -= M_PI_2];
rotationAnimation.delegate = self;

CAAnimationGroup *animationsGroup = [CAAnimationGroup animation];
animationsGroup.duration = self.clockSpeed;
animationsGroup.animations = [NSArray arrayWithObjects:postionAnimation, rotationAnimation, nil];

// Perform the animation
[self.spriteView.layer addAnimation:animationsGroup forKey:nil];

最佳答案

尝试创建两个不同的动画。使用 UIView 的方法,您不能为动画的不同属性设置不同的 animationsCurves。或者您可以玩 CAAnimations 并创建一个 CAAnimationGroup,您可以在其中设置两个 CABasicAnimation

关于ios - 在同一个动画中使用两个不同的 UIView Animation Curves,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11449008/

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