这是我的设置:我有一个CALAyer,我想添加子图层。我通过设置upa UILabel,然后将UILables图层添加到我的主图层来创建这些子图层。当然这会让沉重的UILabel对象在后台徘徊。是否有可能从UIView中获取其所有内容的图层并摆脱UIView本身? 我已经尝试过这样的:可能从UIView复制CALayer?
UILabel* label;
[...]
[mainLayer addSublayer:[label.layer copy]];
[label release];
但每当我释放了UIView,该层的内容也被删除。这甚至可能或UIView的图层始终需要UIView本身来显示它的内容?我认为这个图层是UIView绘制的一种画布。我想我可能是错误的这个假设:)
或许是因为一层的目的是呈现其相关的UIView和它的子层。如果UIView因为您释放而消失,那么为什么您需要使用最初绑定到该UIView的图层?如果你真的需要一个图层,我认为你也需要它的UIView。Haentz肯定会尝试你提出的方法(我不确定它是否会起作用),但是我之前在Core Animation代码中没有看到过。另外,如果苹果认为可以实现这一点,它将使CALayer符合NSCopying。请让我知道这种方法是否有效。 – 2009-06-07 15:51:18