我正在尝试绘制一个简单的形状作为游戏界面的一部分,大多数教程使用UIBezierPath来定义CAShapeLayer的路径。但是,我注意到UIBezierPath已经存在fill function。
这可能是一个愚蠢的问题,但使用它和使用单独的CAShapeLayer绘制路径有什么区别?还有哪一个更好?
答案 0 :(得分:8)
" CA"在CAShapeLayer
中代表 CoreAnimation 。
如果您希望为UIBezierPath
设置动画,移动,操作或其他任何内容,则需要使用CALayer
(或其子类CAShapeLayer
)
如果你想要的只是简单地绘制" UIBezierPaths是正确的选择。 - 它通常在draw(rect:)
完成。你也可以"重绘"如果你愿意的话。
但是,如果您想要对形状进行持久性(和控制),请将UIBezierPath
转换为CAShapeLayer
。