gpt4 book ai didi

iphone - 将动画组合到单个属性上

转载 作者:行者123 更新时间:2023-12-03 16:17:46 25 4
gpt4 key购买 nike

如何使用两个单独的 CABasicAnimations 来同时为同一属性设置动画?

例如两个 CABasicAnimations,都对position.y进行动画处理。

第一个动画将是弹跳(从 100 到 300,持续时间 = 1,自动反转 = yes,重复计数 = 10)

第二个动画将是缓慢滚动(100,持续时间 = 10)

我看到的行为是,如果第一个动画正在进行中并且我使用:

[pickle.layer addAnimation:[self makescrollanimation] forKey:@"scrollit"];

添加第二个...第二个被忽略。

我知道第二个动画有效,因为如果我从第二个动画开始,那么第一个动画就会被忽略。

谢谢-马特

最佳答案

如果我理解正确的话,你希望 View 上下弹跳,而整个弹跳运动缓慢向下移动。您可以通过使用动画的附加属性来添加动画来实现此目的。例如:

CABasicAnimation *bounceAnimation = [CABasicAnimation animationWithKeyPath:@"position.y"];
bounceAnimation.duration = 1;
bounceAnimation.fromValue = [NSNumber numberWithInt:100];
bounceAnimation.toValue = [NSNumber numberWithInt:300];
bounceAnimation.repeatCount = 10;
bounceAnimation.autoreverses = YES;
bounceAnimation.fillMode = kCAFillModeForwards;
bounceAnimation.removedOnCompletion = NO;
bounceAnimation.additive = YES;
[view.layer addAnimation:bounceAnimation forKey:@"bounceAnimation"];

CABasicAnimation *scrollAnimation = [CABasicAnimation animationWithKeyPath:@"position.y"];
scrollAnimation.duration = 10;
scrollAnimation.fromValue = [NSNumber numberWithInt:0];
scrollAnimation.toValue = [NSNumber numberWithInt:100];
scrollAnimation.fillMode = kCAFillModeForwards;
scrollAnimation.removedOnCompletion = NO;
scrollAnimation.additive = YES;
[view.layer addAnimation:scrollAnimation forKey:@"scrollAnimation"];

如果我正确地阅读了你的问题,应该可以完成你想要的动画。滚动动画应该能够在弹跳动画期间的任何时刻触发。

关于iphone - 将动画组合到单个属性上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/554515/

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