我正在使用核心动画在Cocoa项目上工作,我有一个显示在两个窗口中的自定义视图。它总是显示在一个窗口中,但有时在启动应用程序时不会显示在其他窗口中。据我所知,这完全是随机的。这是我在视图初始化时调用的代码。无论视图是否出现,它都会得到这个代码。核心动画视图有时不显示
[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而不是将其设置为视图的“层”像我目前正在做?
同一个自定义(子分类)视图有两个实例,每个窗口都有一个实例。它们都是通过将自定义视图拖放到Interface Builder中的窗口中创建的,然后为每个窗口设置自定义类。 – Austin 2009-05-26 11:38:51