2012-07-03 65 views
0

我正在使用CALayers來顯示幾張圖片。我通過創建圖層並將其內容屬性設置爲CGImageRef來實現此目的。我沒有在我的CALayer上設置代表。CALayer爲什麼不保留其內容?

圖層顯示正常,但是當另一圖層在第一圖層上移動時,較低圖層的內容將被「刪除」。我假設CALayer正在調用默認的代理並且什麼都不畫。我如何讓我的CALayer堅持其內容?

謝謝。

回答

1

下層不應該通過在頂部添加新圖層來擦除。我的猜測是,下層被您添加的圖層覆蓋(並因此被遮擋)。嘗試使新圖層比原始圖層小一些作爲測試。

請注意,如果您在圖層上調用某些方法(如setNeedsDisplay),則會導致圖層丟棄其內容。

你有沒有可能迫使圖層重繪的代碼? (就像調用setNeedsDisplay一樣,如上所述。)那會導致你所看到的症狀。

+0

不......我的代碼中沒有setNeedsDisplay任何地方:/ –