我最近一直在使用一些 CAGradientLayers,我注意到一些非常难看的步骤。所以我做了一些研究,发现可以改用 CALayers。
我对 CoreGraphics 和 Quartz2D 非常陌生,我不知道从哪里开始使用 CALayers 和绘制渐变。
有人可以帮助我吗?或者引导我举一些好的例子?
我最近一直在使用一些 CAGradientLayers,我注意到一些非常难看的步骤。所以我做了一些研究,发现可以改用 CALayers。
我对 CoreGraphics 和 Quartz2D 非常陌生,我不知道从哪里开始使用 CALayers 和绘制渐变。
有人可以帮助我吗?或者引导我举一些好的例子?
渐变层不抖动,这是看到一些步骤的原因。但与此同时,它的速度要快几个数量级,因为它直接在 GPU 上绘制。
请参阅 Apple 的 Quartz 2D Programming Guide 关于渐变的章节:https ://developer.apple.com/library/mac/#documentation/graphicsimaging/conceptual/drawingwithquartz2d/dq_shadings/dq_shadings.html
您应该查看可以在 drawRect: 或 drawLayer:inContext: 中使用的 CGGradientRef 来绘制任何渐变。