在显示进度条的时候,有时候会发现用自带的progressView可自定义的属性比较少,并不能满足某些需求,继承UIView重新实现一个也挺方便的,自定义progress view 代码如下:
import Foundation
import UIKit
class DOVProgressView: UIView {
private let textLabel = UILabel()
private let bar = UIView()
public var progress: Float = 0{
didSet{
percent = Int(progress * 100)
}
}
var percent: Int = 0 {
didSet {
if percent > 100 {
percent = 100
}else if percent < 0 {
percent = 0
}
textLabel.text = "\(percent)%"
setNeedsLayout()
}
}
//文本颜色
var color: UIColor = UIColor.black {
didSet {
textLabel.textColor = color
}
}
//进度条颜色
var barColor: UIColor = UIColor.orange {
didSet {
bar.backgroundColor = barColor
}
}
//进度条背景颜色
var barBgColor: UIColor = UIColor.white {
didSet {
layer.backgroundColor = barBgColor.cgColor
}
}
override init(frame: CGRect) {
super.init(frame: frame)
initialSetup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
initialSetup()
}
private func initialSetup(){
bar.backgroundColor = self.barColor
addSubview(bar)
self.layer.cornerRadius = CGFloat(12)
self.layer.masksToBounds = true
self.bar.layer.cornerRadius = CGFloat(