2016-04-08 32 views

cevap

2

CAGradientLayer'u aşağıdaki gibi kullanabilirsiniz.

gradientLayer = [CAGradientLayer layer]; 
gradientLayer.frame = baseView.bounds; 
gradientLayer.startPoint = CGPointMake(0.5,0.0); 
gradientLayer.endPoint = CGPointMake(0.5,1.0); 
gradientLayer.locations = @[@(0.0), @(0.2), @(1.0)]; 
gradientLayer.colors = @[(id)[UIColor colorWithWhite:1.0 alpha:0.9].CGColor, 
         (id)[UIColor colorWithWhite:1.0 alpha:0.3].CGColor, 
         (id)[UIColor colorWithWhite:1.0 alpha:0.0].CGColor]; 
[baseView.layer addSublayer:gradientLayer]; 

CAGradientLayer örneğin, startPoint ve endPoint gradyan yön ayarlama locations ve colors renk eğrisi değiştirilmesi gibi, doğal gradyanı yapmak için çeşitli özelliklerini destekler.

Ayrıca, renk alfa kanalı kullanarak saydam bir etki yaratırsınız.

+0

mesele işaretlendi amacı-c hızlı değildir. – catalandres

+0

@catalandres tamam. anlıyorum. Leo zaten hızlı bir versiyonu önerdi. bu yüzden cevabımı düzenlemeyebilirim. :-) Eğer objektif-c sürümüne ihtiyaç duyan biri varsa, bu yardımcı olacaktır. Cevabınız için –

+0

Thx. Düşüncelerinize hızlı bir şekilde kodu yeniden yazdım ve başarılıyım. :-) Yine, Thx. –

5

Ekran 3

let mask = CAGradientLayer() 
mask.startPoint = CGPointMake(0.0, 0.5) 
mask.endPoint = CGPointMake(1.0, 0.5) 
let whiteColor = UIColor.whiteColor() 
mask.colors = [whiteColor.colorWithAlphaComponent(0.0).CGColor,whiteColor.colorWithAlphaComponent(1.0),whiteColor.colorWithAlphaComponent(1.0).CGColor] 
mask.locations = [NSNumber(double: 0.0),NSNumber(double: 0.2),NSNumber(double: 1.0)] 
mask.frame = label.bounds 
label.layer.mask = mask 
2

Swift

enter image description here

Swift kodu:

let mask = CAGradientLayer() 
mask.startPoint = CGPoint(x: 0, y: 0.5) 
mask.endPoint = CGPoint(x:1.0, y:0.5) 
let whiteColor = UIColor.white 
mask.colors = [whiteColor.withAlphaComponent(0.0).cgColor,whiteColor.withAlphaComponent(1.0),whiteColor.withAlphaComponent(1.0).cgColor] 
mask.locations = [NSNumber(value: 0.0),NSNumber(value: 0.2),NSNumber(value: 1.0)] 
mask.frame = view.bounds 
view.layer.mask = mask