1

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

问题 :

其中2个有什么区别。是否有任何规则来确定我们何时使用核心图形绘制或何时使用 CALayer 来完成工作

4

1 回答 1

1

我不得不说 usingCoreAnimation总是优先于CoreGraphics,因为它更高级,并且抽象了绘制阴影的低级细节。(它也可以让苹果优化阴影绘制而不损害你的代码语法)。

但是,有时您drawRect:无论如何都会覆盖,并且您对阴影有非常特定的用途,而不是整个视图的图层。你可能想CoreGraphics在这里使用阴影。

最后一点,CoreAnimation渲染时渐变要快得多,相信我的话。我在 上使用它UITableViewCell,与使用CoreGraphics渐变相比,滚动性能显着提高。不过,这是有代价的。有点难看啊

于 2012-08-09T19:11:51.927 回答