【问题标题】:Why does CALayer not maintain its contents?为什么 CALayer 不维护它的内容?
【发布时间】:2012-07-03 16:06:47
【问题描述】:

我正在使用 CALayers 来显示几个图像。我通过创建图层并将其内容属性设置为 CGImageRef 来做到这一点。我没有在我的 CALayer 上设置委托。

图层显示正常,但是当另一个图层移动到第一图层的顶部时,较低图层的内容被“擦除”。我假设 CALayer 正在调用默认委托并且什么都不画。如何让我的 CALayer 持久化其内容?

谢谢。

【问题讨论】:

    标签: ios core-animation core-graphics


    【解决方案1】:

    不应通过在顶部添加新图层来擦除较低的图层。我的猜测是下层被您添加的层覆盖(并因此被遮盖)。尝试使新层小于原始层作为测试。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 2018-01-11
      • 2013-02-11
      • 2015-04-28
      相关资源
      最近更新 更多