如何存储CALayers以供重复使用?

时间:2010-10-15 11:39:00

标签: iphone graphics calayer reusability

我想要重复使用一堆相同的CALayer。通常情况下,其中一些应该消失,然后在同一个超级层内的另一个位置重复使用(半秒左右)。

在屏幕上消失时保留它们的最佳方式(性能方面)是什么? setHidden:YES,或setOpacity:0,还是removeFromSuperLayer?或者其他我没想到的东西?

(大约有12个相同的圆形CALayers,内容来自UIImage,大约30个CAShapeLayers,每个只包含一个线段 - 虽然通常在不同的方向 - )

2 个答案:

答案 0 :(得分:0)

您应该使用nsset或nsarray来维护未使用的calayer队列。该过程与使用tablecells时的过程类似。

当每个calayer都是removeFromSuperLayer时,将它放入你的套装中,并在需要时从套装中拉出一个。

答案 1 :(得分:0)

你提到的三个看起来似乎都是合理的事情。你真的应该测试每一个,看看哪个给你的应用程序最好的性能,结果可能会让你感到惊讶。