【发布时间】:2016-04-07 19:47:57
【问题描述】:
我有一个通过 CAGradientLayer 生成的渐变背景。我还有一个 switch 语句,它根据 UI 的其他部分更新渐变层的颜色。它完美地工作,但是,渐变之间的“淡入淡出”非常非常快。我什至没有在 swift 项目中指定这一点。它只是自然地慢慢褪色。
我希望淡入淡出的持续时间为 0.5 秒。
这是我的 switch 语句。
switch newValue{
case 1..<70:
gradientLayer.colors = [gradientColor1a, gradientColor1b]
case 70..<120:
gradientLayer.colors = [gradientColor2a, gradientColor2b]
case 120..<190:
gradientLayer.colors = [gradientColor3a, gradientColor3b]
case 190..<400:
gradientLayer.colors = [gradientColor4a, gradientColor4b]
default:
gradientLayer.colors = [gradientColor1a, gradientColor1b]
}
我正在阅读的文档指出您可以使用 toValue / fromValue 进行动画处理,但是,我不知道如何在上面的 switch 语句中实现它。是否可以为此使用 CABasicAnimation?
如何根据我的开关值让这些渐变淡出 0.5 持续时间?谢谢。
【问题讨论】:
-
你知道如何在switch语句之外设置动画吗?
标签: ios swift cabasicanimation cagradientlayer