Swift - 简单圆弧进度条实现

Step 0.在重写视图控件draw方法实现
override func draw(_ rect: CGRect) {   
//0.1 获取图像上下文     
    let grap =  UIGraphicsGetCurrentContext()        
//0.2 设置中心位置       
    let centerPoint = self.center
//0.3 设置圆弧半径
    let radius:CGFloat = 10
//0.4 设置绘制起始点
    let start = M_PI/2
//0.5 设置绘制终点
    let end = M_PI/2 + 2 * M_PI * _progress
//0.6 创建路径、clockwise == true 是否顺时针绘制
    let bz = UIBezierPath(arcCenter: point, radius: radius, startAngle: start, endAngle: end, clockwise: true)
//0.7 线框
    bz.lineWidth = 4
//0.8 颜色
    UIColor.white.set()
//0.9 绘制
    grap?.addPath(bz.cgPath)
    grap?.strokePath()
}

//1.0 定义全局属性、范围 0.0 -> 1.0
  var _progress:CGFloat = 0{
    didSet{
//1.1 GET:改变参数时需要刷新画板
    self.setNeedsDisplay()

    }
}

你可能感兴趣的:(Swift - 简单圆弧进度条实现)