【Swift】加H5时的自定义进度条

来源:互联网 发布:银行家算法源代码c语言 编辑:程序博客网 时间:2024/05/23 15:47
import UIKitclass CNProgressView: UIView {    var outLayer : CAShapeLayer!    var frameNew : CGRect!    var gradLayer : CAGradientLayer!    override init(frame: CGRect) {        super.init(frame: frame)        frameNew = frame        self.backgroundColor = UIColor.clear        addGrayAnnulus()    }    func addGrayAnnulus(){        outLayer = CAShapeLayer()        let path = CGMutablePath()        path.move(to: CGPoint(x: 0, y: frameNew.height / 2))        path.addLine(to: CGPoint(x: frameNew.width, y: frameNew.height / 2))        outLayer.strokeColor = UIColor.gray.cgColor        outLayer.lineWidth = frameNew.height        outLayer.lineCap = kCALineCapRound        outLayer.path = path        self.layer.addSublayer(outLayer)        gradLayer = CAGradientLayer()        gradLayer.colors = [UIColor.white.cgColor,UIColor.green.cgColor]        gradLayer.locations = [0.1,1,0.7]        gradLayer.frame = CGRect(x: 0, y: 0, width: 0, height: frameNew.height)        gradLayer.startPoint = CGPoint(x: 0, y: 0.5)        gradLayer.endPoint = CGPoint(x: 1, y: 0.5)        self.layer.addSublayer(gradLayer)    }    func updateProgressWithNumber(nunber : CGFloat){        let maskWidth = nunber * frameNew.width;        gradLayer.frame = CGRect(x: 0, y: 0, width: maskWidth, height: frameNew.height)    }    required init?(coder aDecoder: NSCoder) {        fatalError("init(coder:) has not been implemented")    }}
原创粉丝点击