2012-08-09 75 views
1

据我所知,我们可以使用核心图形(如CGContextSetShadowWithColor)绘制阴影。但是,我们也可以使用CALayer来显示阴影。使用核心图形绘制阴影并使用CALayer

问:

什么是他们的2之间的差异。有没有什么规则来确定,当我们使用核心图形绘制或当我们使用的CALayer做的工作

回答

1

我不得不说,使用CoreAnimation总是优于CoreGraphics,因为它更高电平,抽象绘制阴影的低级细节。 (它也可能允许苹果优化阴影绘制而不损害你的代码语法)。

但是,有些时候你总是重写drawRect:,而且你对阴影有非常具体的用途,而不是整个视图的图层。你可能想在这里使用CoreGraphics阴影。

最后一个注释,CoreAnimation渲染时,渐变速度要快很多,请记住它。我在UITableViewCell上使用它,滚动性能显着增加,而不是使用CoreGraphics渐变。 That comes at a price, though. It's a bit worse-looking.