如何在育儿时覆盖CALayers的绘制顺序

Dyl*_*lan 1 drawing core-animation calayer ios

我有点困惑.我想按照一定的顺序堆叠CALayers来绘制另一个,但我也希望从这些层带来的继承转换中受益.

想象一下身体,上臂,前臂和手.我想为手臂和手设置锚点和父母,这样我就可以旋转手臂,手就会跟随.

这是我做的:

CALayer *body = [CALayer layer];
body.path = @"body.png";
body.anchorPoint = ap1;
CALayer *arm = [CALayer layer];
arm.path = @"arm.png";
arm.anchorPoint = ap2;
CALayer *hand = [CALayer layer];
hand.path = @"hand.png";
hand.anchorPoint = ap3;
[myView.layer addSublayer:body];
[myView.layer addSublayer:arm];
[myView.layer addSublayer:hand];
hand.parent = arm;
arm.parent = body;
Run Code Online (Sandbox Code Playgroud)

一切都很好,但如果我希望身体与手臂和手重叠怎么办?有没有办法保持这个父母顺序,但覆盖绘图顺序?这样做的任何聪明的想法?

Ada*_*m B 5

子层总是在他们的超级层面前绘制.你不能改变它.

兄弟姐妹(同一超级层的子图层)可以使用该zPosition属性来更精细地控制渲染顺序.顺便说一下,有很多子层有一些性能影响,所以在你开始走太多之前我会转向一个更加注重图形的框架CALayer.