import UIKit
class 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")
}
}
【Swift】加H5时的自定义进度条
最新推荐文章于 2023-09-19 14:47:48 发布