Tôi có chế độ xem có CALayer. Khi tôi tạo một CAGradientLayer và áp dụng nó như là mặt nạ của CALayer của khung nhìn đó, không có gì xảy ra. Tại sao?Làm thế nào để áp dụng CAGradientLayer làm mặt nạ của một CALayer khác?
Trong -initWithFrame: các quan điểm tôi làm điều này:
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;
Nếu tôi thay
self.layer.mask = gradient;
với
[self.layer insertSublayer:gradient atIndex:0];
sau đó tôi thấy gradient. Nó từ đen sang trắng.
Bí quyết là gì?
Đối với những người khác rằng đấu tranh với Gradient Mask, nó sẽ không hoạt động nếu áp dụng cho một 'UIStackView '. –