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