为什么CALayer不保留其内容?

时间:2012-07-03 16:06:48

标签: ios core-animation core-graphics

我正在使用CALayers来显示几张图片。我这样做是通过创建图层并将其contents属性设置为CGImageRef。我没有在我的CALayer上设置代理。

图层显示正常,但当另一个图层在第一个图层的顶部移动时,下层图层的内容会被“删除”。我假设CALayer正在调用默认委托并且什么都没画。如何让我的CALayer坚持其内容?

感谢。

1 个答案:

答案 0 :(得分:1)

不应在顶部添加新图层来删除下层。我的猜测是,您添加的图层覆盖了下层(并因此被遮挡)。尝试将新图层设置为小于原始图层作为测试。

请注意,如果您在图层上调用某些方法(如setNeedsDisplay),则会导致图层丢弃其内容。

您是否有任何可能强制图层重绘的代码? (就像调用setNeedsDisplay一样,如上所述。)这会导致你看到的症状。