/NicoProgress

iOS Linear progress bar for UIKit with determinate and indeterminate states

Primary LanguageSwiftMIT LicenseMIT

NicoProgress

License Platform Cocoapods Compatible SPM Compatible Carthage compatible

iOS implementation of material progress bars.

About

I needed a simple Material Design progress bar, with both determinate and indeterminate states, for a project I was working on. No other Pod I looked at supported both these features; and they did not respond well to resizes, or being added via Interface Builder.

Example GIF

Usage

Add NicoProgressBar to your nib or programmatically as a subview.

Set Progress

progressBar.transition(to: .determinate(percentage: 0.5))

Indeterminate

progressBar.transition(to: .indeterminate)

Customization

Colors

progressBar.primaryColor = .blue
progressBar.secondaryColor = .white

Duration

progressBar.indeterminateAnimationDuration = 1.5
progressBar.determinateAnimationDuration = 1.5

State

progressBar.state

case indeterminate
case determinate(percentage: CGFloat)

Example

To run the example project, clone the repo, and run pod install from the Example directory first.

Requirements

iOS Deployment Target >= 8.0 Swift 3.2 or 4

Installation

CocoaPods

Add the following to your Podfile

pod 'NicoProgress'

Carthage

Add the following to your Cartfile

github "nicorichard/NicoProgress"

Swift Package Manager (SPM)

Add the following to your Package.swift

dependencies: [
    .package(url: "https://github.com/nicorichard/NicoProgress", .upToNextMajor(from: "0.4.0"))
]

Author

Nicolas Richard, nicorichard@gmail.com

License

NicoProgress is available under the MIT license. See the LICENSE file for more info.