关键代码片段
import UIKit
class RedCircleView: UIView {
override func draw(_ rect: CGRect) {
let center = CGPoint(x: bounds.midX, y: bounds.midY)
let radius: CGFloat = 50.0
let path = UIBezierPath(arcCenter: center, radius: radius, startAngle: 0, endAngle: CGFloat.pi * 2, clockwise: true)
UIColor.red.setFill()
path.fill()
}
}
绘制过程主要步骤解释
- 获取视图中心:
let center = CGPoint(x: bounds.midX, y: bounds.midY)
通过 bounds.midX
和 bounds.midY
获取当前视图的中心坐标。这是圆心的位置。
- 定义半径:
let radius: CGFloat = 50.0
设定圆形的半径为50。
- 创建圆形路径:
let path = UIBezierPath(arcCenter: center, radius: radius, startAngle: 0, endAngle: CGFloat.pi * 2, clockwise: true)
使用 UIBezierPath
的 arcCenter
方法创建一个圆形路径。arcCenter
是圆心坐标,radius
是半径,startAngle
为0(表示从3点钟方向开始),endAngle
为 CGFloat.pi * 2
(表示完整的一圈),clockwise
设置为 true
表示顺时针绘制。
- 设置填充颜色:
UIColor.red.setFill()
设置填充颜色为红色。
- 填充路径:
path.fill()
使用之前设置的填充颜色填充创建好的圆形路径,从而在视图上绘制出一个填充红色的圆形。