[英]Swift - Animating CAGradientLayer via switch statement
我有一個通過CAGradientLayer生成的漸變背景。 我還具有一個switch語句,該語句根據UI的其他部分來更新gradientLayer的顏色。 它可以完美運行,但是,漸變之間的“淡入”非常快。 我什至沒有在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的時間內褪色? 謝謝。
您是否嘗試過這樣做?
CATransaction.setAnimationDuration(0.5)
您應該能夠將其放在switch語句的上方。
查看此答案以獲取更多見解更改CALayer屬性的動畫時間
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.