Ale*_*izi 32 objective-c cashapelayer ios uibezierpath swift
在诸如如何绘制一个平滑的圆圈......,...绘制圆...和...绘制填充圆圈的问题和答案是非常广泛的,包含许多不必要的步骤,并使用的方法并不总是最容易重新创建或管理.
什么是绘制圆圈并将其添加到我的简单方法UIView
?
Ale*_*izi 109
绘制圆圈的简单方法是创建CAShapeLayer
并添加一个圆圈UIBezierPath
.
CAShapeLayer *circleLayer = [CAShapeLayer layer];
[circleLayer setPath:[[UIBezierPath bezierPathWithOvalInRect:CGRectMake(50, 50, 100, 100)] CGPath]];
Run Code Online (Sandbox Code Playgroud)
let circleLayer = CAShapeLayer();
circleLayer.path = UIBezierPath(ovalIn: CGRect(x: 50, y: 50, width: 100, height: 100)).cgPath;
Run Code Online (Sandbox Code Playgroud)
在创建之后CAShapeLayer
我们将其path
设置为a UIBezierPath
.
UIBezierPath
然后我们画了一个bezierPathWithOvalInRect
.在CGRect
我们设置会影响它的大小和位置.
现在,我们有我们的圈子,我们可以把它添加到我们的UIView
作为sublayer
.
[[self.view layer] addSublayer:circleLayer];
Run Code Online (Sandbox Code Playgroud)
view.layer.addSublayer(circleLayer)
Run Code Online (Sandbox Code Playgroud)
我们的圈子现在在我们可见的UIView
.
如果我们希望自定义圆的颜色属性,我们可以通过设置CAShapeLayer
's stroke
- 和fill
颜色轻松实现.
[circleLayer setStrokeColor:[[UIColor redColor] CGColor]];
[circleLayer setFillColor:[[UIColor clearColor] CGColor]];
Run Code Online (Sandbox Code Playgroud)
shapeLayer.strokeColor = UIColor.red.cgColor;
shapeLayer.fillColor = UIColor.clear.cgColor;
Run Code Online (Sandbox Code Playgroud)
另外所有属性都可以在的主题文档https://developer.apple.com/.../CAShapeLayer_class/index.html上找到.
归档时间: |
|
查看次数: |
38792 次 |
最近记录: |