使用CAShapeLayer绘制圆的简单方法
在诸如如何绘制一个光滑的圆圈…… , …绘制圆形……以及…绘制填充圆圈的问题和答案非常广泛,包含许多不必要的步骤,并且使用的方法并不总是最容易重新创建或管理。
绘制圆圈并将其添加到我的UIView
的简单方法是什么?
绘制圆的简单方法是创建CAShapeLayer
并添加UIBezierPath
。
Objective-C的
CAShapeLayer *circleLayer = [CAShapeLayer layer]; [circleLayer setPath:[[UIBezierPath bezierPathWithOvalInRect:CGRectMake(50, 50, 100, 100)] CGPath]];
迅速
let circleLayer = CAShapeLayer(); circleLayer.path = UIBezierPath(ovalIn: CGRect(x: 50, y: 50, width: 100, height: 100)).cgPath;
创建CAShapeLayer
我们将其path
设置为UIBezierPath
。
然后我们的UIBezierPath
绘制一个bezierPathWithOvalInRect
。 我们设定的CGRect
将影响其规模和位置。
现在我们有了我们的圈子,我们可以将它作为sublayer
添加到我们的UIView
中。
Objective-C的
[[self.view layer] addSublayer:circleLayer];
迅速
view.layer.addSublayer(circleLayer)
我们的圈子现在在我们的UIView
可见。
如果我们希望自定义圆的颜色属性,我们可以通过设置CAShapeLayer
的stroke
和fill
颜色来轻松实现。
Objective-C的
[circleLayer setStrokeColor:[[UIColor redColor] CGColor]]; [circleLayer setFillColor:[[UIColor clearColor] CGColor]];
迅速
shapeLayer.strokeColor = UIColor.red.cgColor; shapeLayer.fillColor = UIColor.clear.cgColor;
另外,所有属性都可以在的主题文档https://developer.apple.com/…/CAShapeLayer_class/index.html上找到 。