Я работаю над проектом Cocoa с использованием Core Animation, и у меня есть настраиваемое представление, которое отображается в двух окнах. Он всегда отображается в одном окне, но иногда не отображается в другом, когда я запускаю приложение. Насколько я могу судить, это совершенно случайно. Вот код, который я вызываю при инициализации представления. Он переходит к этому коду независимо от того, появляется представление или нет.
[self setWantsLayer:YES];
root = [self layer]; // root is a CALayer
root.layoutManager = [CAConstraintLayoutManager layoutManager];
root.autoresizingMask = kCALayerWidthSizable | kCALayerHeightSizable;
[root setBackgroundColor:CGColorGetConstantColor(kCGColorBlack)];
[self setNeedsDisplay:YES];
Почему иногда вид появляется, а иногда нет?
РЕДАКТИРОВАТЬ: Будет ли разница, если я создам корневой CALayer сам по себе, вместо того, чтобы устанавливать его на «слой» представления, как я сейчас делаю?