CAShapeLayer与CAShapeLayer子层缓慢

时间:2012-06-25 13:35:22

标签: iphone ios5 uikit interface-builder cashapelayer

我有一个带有CAShapeLayer子图层的UIScrollView,它呈现一条简单的线条。 CAShapeLayer子层有自己的子CAShapeLayer。这会导致滚动和缩放变慢。层次结构如下:

-UIScrollViewLayer     -CAShapeLayer         -CAShapeLayer

如果我将层次结构更改为只有一层深度我没有性能问题:

-UIScrollViewLayer     -CAShapeLayer     -CAShapeLayer

我做错了什么?

1 个答案:

答案 0 :(得分:2)

Cemel,

所以我的滚动视图控制器目前正在执行此操作:

[self.uiview.layer addSublayer:myCALayer];

myCaLayer也在其init方法中执行此操作:

CAShapeLayer *overlayLayer = [[CAShapeLayer alloc] init];
[self addSublayer:overlayLayer]

我发现这种层次结构由于某种原因而变慢。如果我改为压平层次结构并在我的uiscrollview控制器中执行此操作:

[self.uiview.layer addSublayer:myCALayer];
CAShapeLayer *overlayLayer = [[CAShapeLayer alloc] init];
[self.uiview.layer addSublayer:overlayLayer]

然后表现要好得多。希望更有意义。