可以从UIView复制CALayer吗?

Hae*_*ntz 5 iphone core-animation

这是我的设置:我有一个CALAyer,我想添加子图层.我通过设置UILabel然后将UILables图层添加到我的主图层来创建这些子图层.当然这会留下沉重的UILabel对象在背景中盘旋.是否有可能从UIView获取包含其所有内容的图层并摆脱UIView本身?我已经尝试过了:

UILabel* label;
[...]
[mainLayer addSublayer:[label.layer copy]];
[label release];
Run Code Online (Sandbox Code Playgroud)

但每当我发布UIView时,图层的内容也会被删除.这甚至可能还是UIView的图层总是需要UIView本身才能显示它的内容?我认为这层是UIView所描绘的一种画布.我想我可能错了这个假设:)

Mas*_*aro 1

这是不可能的:图层是 UIView 的属性。因此,当你释放UIView时,它的层就消失了。您将图层视为一种画布的想法并没有错。但是,该层是其 UIView 的一个组成部分。