据我所知,我们可以使用CGContextSetShadowWithColor
这样的核心图形来绘制阴影。但是,我们也可以使用CALayer来显示阴影。
问题:
其中2个有什么不同。是否有任何规则来确定我们何时使用核心图形来绘制或当我们使用CALayer来完成工作时
答案 0 :(得分:1)
我不得不说使用CoreAnimation
始终优先于CoreGraphics
,因为它更高级别,并抽象绘制阴影的低级细节。 (它也可能允许苹果优化阴影绘图而不会损害您的代码语法)。
但是,有时你会覆盖drawRect:
,而且你对阴影有特定的用途,而不是整个视图的层。你可能想在这里使用CoreGraphics
阴影。
最后一点,CoreAnimation
渐变在渲染时要快得多,请接受我的话。我在UITableViewCell
上使用它,滚动性能显着提高,而不是使用CoreGraphics
渐变。 That comes at a price, though. It's a bit worse-looking.