我正在使用核心動畫在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