我有一堆相同的 CALayers 我想重复使用。通常,其中一些应该消失,然后在同一 super 层内的另一个位置重新使用(半秒左右之后)。
当它们从屏幕上消失时,保留它们的最佳方法(性能方面)是什么? setHidden:YES、setOpacity:0、或removeFromSuperLayer?或者还有什么我没有想到的?
(大约有 12 个相同的圆形 CALayers,其内容来自 UIImage,大约有 30 个 CAShapeLayers,每个 CAShapeLayers 只包含一条线段 - 尽管通常处于不同的方向 -)
最佳答案
您应该使用 nsset 或 nsarray 来维护未使用的 calayer 队列。该过程与使用表格单元格时的操作类似。
由于每个 calayer 都是从 SuperLayer 中删除的,因此将其放入您的集合中,并在需要时从集合中取出一个。
关于iphone - 如何存储 CALayers 以便重复使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3941848/