iphone - 如何存储 CALayers 以便重复使用?

标签 iphone graphics calayer reusability

我有一堆相同的 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/

相关文章:

ios - 在 iPhone 上显示 UISplitViewController 的详细 View Controller

java - 整数会调用一个类,但不会调用另一个类?

calayer - 层是其层树 iOS 9 Swift 2 中循环的一部分

objective-c - 核心动画 : Make content follow shadow path

HTML 语音气泡标记

swift - 动画期间的 CALayer 使用默认属性值而不是当前实例的属性值

iphone - 阻止 body 移动。 iPhone 上的花栗鼠

iphone - UIButton 标题中的断线

iphone - 使用 CoreAnimation 在 iOS 中实现流畅的动画

c++ - 通过平移矩阵而不是 glTranslate() 在 OpenGL 中移动模型