Маска CALayer с композитным CALayer?
У меня есть основной слой, который имеет слой маски.
Слой маски также имеет подслои (для изменения макетов в рамках различных форм маски).
Но подслои маски не влияют на фактическое маскирование.:(
Что я могу сделать со слоем маски? Я хочу использовать его в анимации, поэтому производительность также в центре внимания.
Слой маски полностью белый при запуске, затем я добавляю более мелкое содержание черного / серого, и я просто хочу увидеть результат. Можно ли вообще замаскировать CALayer изображением в градациях серого?
// Disable layer actions with this delegate object.
self.layerDelegate = [TCLayerDelegate new];
// Create.
CALayer *layer = [CALayer layer];
layer.delegate = self.layerDelegate;
// Setup.
layer.contents = (id)self.colorImage.CGImage; // A simple opaque image with a color.
layer.frame = (CGRect){CGPointZero, self.size};
layer.anchorPoint = (CGPoint){ 0.0, 0.5 };
// Align.
self.layer.position = self.a;
// Create mask.
self.maskLayer = [CALayer layer];
self.maskLayer.delegate = self.layerDelegate;
// Setup.
self.maskLayer.contents = (id)self.maskImage.CGImage; // A black opaque image for now.
self.maskLayer.frame = (CGRect){CGPointZero, self.size};
// Add mask.
self.layer.mask = self.maskLayer;
// Add circles.
[self.circle createLayer]; // This object amongst many other things creates a transparent layer that holds a white circle.
// Add to mask.
[self.maskLayer addSublayer:self.circle.layer];
// Now I'd like to see layer masked with the circle.