Mam UIView i chcę, aby jego dolna część znikała do 0 krycia.Maska gradientu na UIView
Czy można to zrobić na UIView (CALayer), aby wpłynąć na całe UIView i jego zawartość?
Mam UIView i chcę, aby jego dolna część znikała do 0 krycia.Maska gradientu na UIView
Czy można to zrobić na UIView (CALayer), aby wpłynąć na całe UIView i jego zawartość?
Tak, można to zrobić poprzez ustawienie CAGradientLayer
jako warstwy maski Państwa zdanie jest:
#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;
PS: Musisz również połączyć się z aplikacją, aby działała.
Wiem, że to jest starsze, ale w jaki sposób uzyskać cgcolor, a następnie połączyć je z powrotem do wskaźników? Właściwość 'colors' mówi, że jest to tablica UIColors. –
abstract from docs - ** colors ** - Tablica obiektów CGColorRef określająca kolor każdego zatrzymania gradientu. Aby je przechowywać w NSArray, przesyłajmy je na identyfikator. Szczerze mówiąc, myślałem, że potrzebujemy zmostkowej obsady, gdy używamy ARC, ale kod skompilował się dobrze, ponieważ jest teraz – Vladimir
dzięki, zadziałało !! – Deeper
Dla innych, którzy zmagają się z maską gradientu, nie zadziała, jeśli zostanie zastosowany do 'UIStackView'. –