UIView'm var ve alt kısmının 0 opaklığına dönüşmesini istiyorum.UIView üzerinde gradyan maskesi
Tüm UIView ve içeriğini etkilemek için bu bir UIView'e (CALayer) yapılabilir mi?
UIView'm var ve alt kısmının 0 opaklığına dönüşmesini istiyorum.UIView üzerinde gradyan maskesi
Tüm UIView ve içeriğini etkilemek için bu bir UIView'e (CALayer) yapılabilir mi?
Evet, bunu yapabilirsiniz görünümün katman maske olarak CAGradientLayer
ayarlayarak:
#import <QuartzCore/QuartzCore.h>
...
CAGradientLayer *maskLayer = [CAGradientLayer layer];
maskLayer.frame = view.bounds;
maskLayer.colors = @[(id)[UIColor whiteColor].CGColor, (id)[UIColor clearColor].CGColor];
maskLayer.startPoint = CGPointMake(0.5, 0);
maskLayer.endPoint = CGPointMake(0.5, 1.0);
view.layer.mask = maskLayer;
Not; Ayrıca, işleri yapmak için uygulamanıza QuartzCore.framework
bağlantısını da bağlamanız gerekir.
Bunun daha eski olduğunu biliyorum, ama cgcolor'ları alıp sonra işaretçilere geri götürmekle ilgili anlaşma nedir? 'Colors' özelliği, UIColors bir dizi olduğunu söylüyor. –
dokümanlardaki özet - ** renkler ** - Her gradyan durağının rengini tanımlayan bir CGColorRef nesnesi dizisi. Bunları NSArray'da saklamak için onları id olarak yayınlıyoruz. Açıkçası, ARC kullanırken köprülü döküm gerektiğimizi sanıyordum, ancak kod şimdi – Vladimir
teşekkürler derledim, teşekkürler, işe yaradı! – Deeper
Degrade maskesiyle mücadele eden diğer kullanıcılar için, bir "UIStackView" öğesine uygulandığında çalışmaz. –