gpt4 book ai didi

ios - UIView动画持续时间

转载 作者:行者123 更新时间:2023-11-29 04:47:10 25 4
gpt4 key购买 nike

我有一个 UIView,我想更改它的背景颜色。使用 UIView beginAnimation:context: 方法效果很好。然而,动画“持续”大约 1 秒左右。我希望它持续5秒。这是我正在使用的代码:

- (void)updateSky:(NSString *)time {
[UIView beginAnimations: @"backgroundUpdate" context:nil];
[UIView setAnimationDuration: 5.0];

gradient.colors = [NSArray arrayWithObjects: (id)[[UIColor colorWithRed:0x63/255.0f green:0xA9/255.0f blue:0xFF/255.0f alpha:1.0] CGColor],
(id)[[UIColor colorWithRed:0x8C/255.0f green:0xBF/255.0f blue:0xFF/255.0f alpha:1.0] CGColor], nil];

if(time == @"night") {
gradient.colors = [NSArray arrayWithObjects: (id)[[UIColor colorWithRed:0x1E/255.0f green:0x1E/255.0f blue:0x1E/255.0f alpha:1.0] CGColor],
(id)[[UIColor colorWithRed:0x2C/255.0f green:0x4C/255.0f blue:0x72/255.0f alpha:1.0] CGColor], nil];
}

[UIView commitAnimations];
}

梯度定义如下:

CAGradientLayer *gradient;

我做错了什么吗?

最佳答案

使用 View 动画设置 UIView 背景颜色的动画方法是设置其 backgroundColor属性(property)。你似乎并没有这样做。这是什么东西gradient它是什么 colors属性(property)?这里的问题似乎是您正在使用 UIView 动画,但是 colors不是 UIView 可动画属性,因此这是没有意义的。您需要提供更多代码来显示您真正在做什么。例如,如果这是隐式图层动画,您可以使用 +[CATransaction setAnimationDuration:]设置持续时间。

(此外,整个 beginAnimations/commitAnimations 结构虽然没有完全弃用,但实际上已经在砧板上了。这与你的问题无关,但如果可以的话,最好摆脱它,就在原则。您应该使用 animateWithDuration:delay:options:animations:completion: ,或隐式层动画,或显式核心动画。)

关于ios - UIView动画持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9459442/

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