Skip to content

Lightweight component to create an horizontal loading bar on any UIView

License

Notifications You must be signed in to change notification settings

mrjosa/Progressable

 
 

Repository files navigation

Progressable

Build Status CocoaPods Compatible

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 UIView conform to the Progressable protocol.
  • call self.initProgress() in init(frame: CGRect) and init?(coder aDecoder: NSCoder).
  • call self.layoutProgress() in func layoutSubviews().

API

After conforming to the Progressable protocol, you change the progress using:

  • the progress property: 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

progress

About

Lightweight component to create an horizontal loading bar on any UIView

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 88.3%
  • Ruby 7.2%
  • Objective-C 4.5%