我有一个带有CAShapeLayer子图层的UIScrollView,它呈现一条简单的线条。 CAShapeLayer子层有自己的子CAShapeLayer。这会导致滚动和缩放变慢。层次结构如下:
-UIScrollViewLayer -CAShapeLayer -CAShapeLayer
如果我将层次结构更改为只有一层深度我没有性能问题:
-UIScrollViewLayer -CAShapeLayer -CAShapeLayer
我做错了什么?
答案 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]
然后表现要好得多。希望更有意义。