gpt4 book ai didi

iphone - 在 UIView 中将背景颜色从一种颜色淡入另一种颜色

转载 作者:行者123 更新时间:2023-12-03 19:01:21 28 4
gpt4 key购买 nike

如何在 UIView 中从一种背景颜色淡入另一种颜色?

在 javascript (jQuery) 中,可以通过执行以下操作来完成:
$('body').animate({ backgroundColor: "#ff00ff"});

如果我将颜色转换为 HSV 会更容易吗?

编辑:尝试使用 CABasicAnimation 执行此操作,但由于未知原因它闪烁白色。 :/

CABasicAnimation* fade = [CABasicAnimation animationWithKeyPath:@"backgroundColor"];
fade.fillMode = kCAFillModeForwards;
fade.removedOnCompletion = NO;
// fade.fromValue = (id)[self.view backgroundColor].CGColor;
fade.toValue = (id)[UIColor greenColor].CGColor;
[self.view.layer addAnimation:fade forKey:@"fade"];

然后我尝试寻找另一种方法来做到这一点,并偶然发现了“隐式动画”。下面的效果可以很好地在一秒内淡入淡出:

[UIView beginAnimations:@"fade" context:nil];
[UIView setAnimationDuration:1];
[[self view] setBackgroundColor: [UIColor greenColor]];
[UIView commitAnimations];

感谢 StackOverflow 帮助每个人了解更多信息。 :)

最佳答案

您不需要创建两个 UIView 并淡入淡出 - 当颜色属性本身可设置动画时,为什么要费心让一个额外的多余 View 卡在周围呢?

您可以如上所示使用 CAAnimation,但无需调整两个 View 的不透明度,只需调整一个 View 的背景颜色。

http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Animation_Types_Timing/Articles/PropertyAnimations.html

关于iphone - 在 UIView 中将背景颜色从一种颜色淡入另一种颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4785042/

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