我有一个带有CAShapeLayer子层的UIScrollView,它呈现了一条简单的线。CAShapeLayer子层有自己的子CAShapeLayer。这会导致滚动和缩放速度变慢。层次结构如下所示:
-UIScrollViewLayer -CAShapeLayer -CAShapeLayer
如果我将此层次结构更改为只有一个级别深,则不会出现性能问题:
-UIScrollViewLayer -CAShapeLayer -CAShapeLayer
我做错了什么?
发布于 2012-06-25 22:47:05
塞梅尔
所以我的滚动视图控制器目前正在做这件事:
[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]那么性能就会好得多。希望这更有意义。
https://stackoverflow.com/questions/11190380
复制相似问题