UIBezierPath填充vs CAShapeLayer

时间:2017-08-06 23:49:18

标签: ios swift uibezierpath cashapelayer

我正在尝试绘制一个简单的形状作为游戏界面的一部分,大多数教程使用UIBezierPath来定义CAShapeLayer的路径。但是,我注意到UIBezierPath已经存在fill function

这可能是一个愚蠢的问题,但使用它和使用单独的CAShapeLayer绘制路径有什么区别?还有哪一个更好?

1 个答案:

答案 0 :(得分:8)

" CA"在CAShapeLayer中代表 CoreAnimation

如果您希望为UIBezierPath设置动画,移动,操作或其他任何内容,则需要使用CALayer(或其子类CAShapeLayer

如果你想要的只是简单地绘制" UIBezierPaths是正确的选择。 - 它通常在draw(rect:)完成。你也可以"重绘"如果你愿意的话。

但是,如果您想要对形状进行持久性(和控制),请将UIBezierPath转换为CAShapeLayer