Progressable
Progressable copied to clipboard
Lightweight component to create an horizontal loading bar on any UIView
Progressable
Progressable is a simple component to help you add a simple animatable progress bar to any UIView.
Usage
3 simple steps to follow:
- make your
UIViewconform to theProgressableprotocol. - call
self.initProgress()ininit(frame: CGRect)andinit?(coder aDecoder: NSCoder). - call
self.layoutProgress()infunc layoutSubviews().
API
After conforming to the Progressable protocol, you change the progress using:
- the
progressproperty:self.progressView.progress = 50(values are from 0 to 100). - the
setProgress(progress: CGFloat, withDuration duration: TimeInterval)method.
The following properties can be customized:
progressLineWidth: width of the progress bar.progressColor: color of the progress bar.
Example
class ProgressSearchBar: UISearchBar, Progressable {
override init(frame: CGRect) {
super.init(frame: frame)
self.initProgress()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.initProgress()
}
override func layoutSubviews() {
super.layoutSubviews()
self.layoutProgress()
}
}
This example can be run using Progressable.xcodeproj.
Preview
