gpt4 book ai didi

opacity - 如何使用 CAKeyFrameAnimation 中的关键时间来动画图层的不透明度?

转载 作者:行者123 更新时间:2023-12-02 02:07:36 26 4
gpt4 key购买 nike

我正在尝试对图层进行动画处理,以便不透明度在大约 0.2 秒内从 0 变为 1,将不透明度保持在 1 秒,然后将不透明度放回 0。我正在尝试使用关键时间去做,但我做不到。

CAKeyframeAnimation *opacityLabel = [CAKeyframeAnimation animationWithKeyPath: @"opacity"];

// 0.2 seconds fade in, 1 second hold, 0.2 seconds fade out
[opacityLabel setDuration: 1.4];
[opacityLabel setDelegate: self];
[opacityLabel setValue: @"countLabel" forKey: @"verify"];
[opacityLabel setValues: [NSArray arrayWithObjects: [NSNumber numberWithFloat: 1.0], [NSNumber numberWithFloat: 1.0], [NSNumber numberWithFloat: 0], nil]];
[opacityLabel setKeyTimes: [NSArray arrayWithObjects: [NSNumber numberWithFloat: 0.2], [NSNumber numberWithFloat: 1.2], [NSNumber numberWithFloat: 1.4], nil]];

[[tomorrowCountLabel layer] addAnimation: opacityLabel forKey: @"opacityUp"];

最佳答案

你就快到了。关键时间应该是 0 到 1 之间的值。您可以将它们视为百分比。另外,您的动画应该从不透明度 0 而不是 1 开始。因此,您应该更改以下两行:

opacityLabel.values   = @[@0, @1, @1, @0];
opacityLabel.keyTimes = @[@0, @(0.2/1.4), @(1.2/1.4), @1];

关于opacity - 如何使用 CAKeyFrameAnimation 中的关键时间来动画图层的不透明度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15587982/

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