A view can display the value at regular time intervals
AMSpeedMeter
AMSpeedMeter is a view can display the value at regular time intervals.
Demo
Usage
// property
private var speedMeterView: AMSpeedMeterView!
private var timer: Timer?
override func viewDidLoad() {
super.viewDidLoad()
speedMeterView = AMSpeedMeterView(frame: view.bounds)
view.addSubview(speedMeterView)
// customize here
timer = Timer.scheduledTimer(timeInterval: 0.5, target: self,
selector: #selector(self.timerAction(teimer:)),
userInfo: nil, repeats: true)
}
/// Timer Action
@objc func timerAction(teimer: Timer) {
/// set CGFloat value
speedMeterView.currentValue = value
}
Customization
AMSpeedMeter
can be customized via the following properties.
@IBInspectable public var maxValue: CGFloat = 100
@IBInspectable public var minValue: CGFloat = 0
@IBInspectable public var numberOfValue: Int = 5
@IBInspectable public var meterBorderLineWidth: CGFloat = 5
@IBInspectable public var valueIndexWidth: CGFloat = 2.0
@IBInspectable public var valueHandWidth: CGFloat = 3.0
@IBInspectable public var meterBorderLineColor: UIColor = .black
@IBInspectable public var meterColor: UIColor = .clear
@IBInspectable public var valueHandColor: UIColor = .red
@IBInspectable public var valueLabelTextColor: UIColor = .black
@IBInspectable public var valueIndexColor: UIColor = .black
public var valueLabelFont: UIFont = .systemFont(ofSize: 15)
public var decimalFormat: AMSMDecimalFormat = .none
public var currentValue: CGFloat = 0.0
Installation
CocoaPods
Add this to your Podfile.
pod 'AMSpeedMeter'
Carthage
Add this to your Cartfile.
github "adventam10/AMSpeedMeter"