2016-04-07 18 views
0

CAGradientLayer aracılığıyla oluşturulan bir degrade arka planım var. Ayrıca, UI'nin diğer bölümlerine bağlı olarak gradientLayer'ın renklerini güncelleyen bir anahtar deyim var. Mükemmel çalışır, ancak gradyanlar arasındaki “solma” çok hızlıdır. Bunu hızlı projede bile belirtmedim. Bu sadece doğal olarak yavaş yavaş soluyor.Swift - CAGradientLayer'ı anahtar deyimiyle canlandırma

Fade süresini 0,5 saniye olarak görmek istiyorum.

Anahtar anahtarlamam.

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] 
    } 

Okuyorum belgeler ancak, yukarıda benim switch ifadesi içine nasıl uygulanacağı bilmiyorum, bir toValue/fromValue ile canlandırabilirsiniz belirtiyor. Bunun için CABasicAnimation kullanmak mümkün mü?

Bu gradyanları, anahtarımdan alınan değere göre 0,5 saat boyunca solmaya nasıl başlarım? Teşekkürler.

+0

Eğer switch ifadesinin dışında animasyonu nasıl ayarlanacağını biliyor musunuz daha fazla ayrıntı için bu cevabın bir göz atın? – LulzCow

cevap

İlgili konular