ProductPromotion
Logo

Swift

made by https://0x3d.site

GitHub - hyperoslo/RetroProgress: 💈 Retro looking progress bar straight from the 90s
💈 Retro looking progress bar straight from the 90s - hyperoslo/RetroProgress
Visit Site

GitHub - hyperoslo/RetroProgress: 💈 Retro looking progress bar straight from the 90s

GitHub - hyperoslo/RetroProgress: 💈 Retro looking progress bar straight from the 90s

RetroProgress

CI Status Version Carthage Compatible License Platform Swift

Description

Do you miss the 90s? We know you do. Dial-up internet, flickering screens, brightly colored websites and, of course, this annoyingly slow progress bar that has been invented to test your patience. Yes, it was a while ago, but we don't want it to be forgotten. Meet RetroProgress, a progress bar made to cure your 90s nostalgia.

  • Easy to use and customizable progress bar.
  • Support for both progress value (0...1) and number of steps.
  • Progress animations.
  • No external dependencies.
  • Playgrounds.
  • Demo project.

Table of Contents

Usage

Are you excited to bring this thing back from the dead? So are we. Let's use default configuration and see what we get out-of-the-box:

let progressView = ProgressView(frame: CGRect(x: 0, y: 0, width: 360, height: 30))
progressView.animateProgress(to: 0.8)

Do you think it's way too retro? Let's try to make it more modern:

let progressView = ProgressView(frame: CGRect(x: 0, y: 0, width: 360, height: 30))

// Configure
progressView.layer.cornerRadius = 10
progressView.layer.borderColor = UIColor.black.cgColor
progressView.trackColor = .white
progressView.separatorColor = .black
progressView.progressColor = UIColor(
  red: 218/255,
  green: 236/255,
  blue: 255/255,
  alpha: 1
)

// Set progress
progressView.animateProgress(to: 0.8)

Not a fan of those separators? Let's try without them:

let progressView = ProgressView(frame: CGRect(x: 0, y: 0, width: 360, height: 30))

// Configure
progressView.numberOfSteps = 0
progressView.progressInset = .zero
progressView.layer.cornerRadius = 15
progressView.layer.borderColor = UIColor.white.cgColor
progressView.trackColor = .black
progressView.progressColor = .white

// Set progress
progressView.animateProgress(to: 0.8)

The options are limitless. Think big, now it's your turn to make the progress bar great again.

Public properties

  • numberOfSteps - Maximum number of steps. Set to 0 to remove separators.
  • step - Number of separators (0...numberOfSteps). Values outside are pinned.
  • progress - 0...1, default is 0. Values outside are pinned.
  • progressInset - The inner inset for progress bar and separators.
  • trackColor - The color shown for the portion of the progress bar that is not filled.
  • progressColor - The color shown for the portion of the progress bar that is filled.
  • separatorColor - The color used for the step separators.
  • fullProgressAnimationDuration - The duration for progress animation from 0 to 1.
  • separatorWidth - The width of step separators.

Public methods

  • animateProgress(to:duration:) - Animates progress bar to the specified value (0...1).
  • animateSteps(to:duration:) - Animates progress bar to the specified value (0...numberOfSteps).

Installation

RetroProgress is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'RetroProgress'

RetroProgress is also available through Carthage. To install just write into your Cartfile:

github "vadymmarkov/RetroProgress"

RetroProgress can also be installed manually. Just download and drop Sources folders in your project.

Author

Vadym Markov, [email protected]

Credits

This library was originally done at Hyper, a digital communications agency with a passion for good code and delightful user experiences.

Contributing

Check the CONTRIBUTING file for more info.

License

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

More Resources
to explore the angular.

mail [email protected] to add your project or resources here 🔥.

Related Articles
to learn about angular.

FAQ's
to learn more about Angular JS.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory