我在视图上绘制了许多音频表,发现 drawRect 跟不上音频变化的速度。实际上,一次只有很小一部分图像发生变化,所以我真的只想绘制增量变化。
我创建了一个CGLayer
,当数据发生变化时,我使用、CGContextBeginPath
和来在 CGLayer 中绘制。CGContextMoveToPoint
CGContextAddLineToPoint
CGContextStrokePath
在drawRect
我CGContextDrawLayerAtPoint
用来显示图层的视图中。
当数据发生变化时,我通过在CGLayer
. 我曾以为它就像 Photoshop 一样,新数据只是在旧数据上绘制,但我现在相信我曾经绘制的所有线条仍然存在于图层中。那是对的吗?
如果是这样,有没有办法从 a 中删除行CGLayer
?