У меня есть вид, который имеет CALayer. Когда я создаю CAGradientLayer и применяю его как маску CALayer этого представления, ничего не происходит. Зачем?Как применить CAGradientLayer как маску другого CALayer?
В -initWithFrame: мнение, я это делаю:
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = self.bounds;
gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor blackColor] CGColor], (id)[[UIColor whiteColor] CGColor], nil];
//[self.layer insertSublayer:gradient atIndex:0];
self.layer.mask = gradient;
Если я заменяю
self.layer.mask = gradient;
с
[self.layer insertSublayer:gradient atIndex:0];
тогда я вижу градиент. Это от черного до белого.
Какая уловка?
Для других, которые борются с градиентной маской, он не будет работать, если применить к 'UIStackView '. –