Measuring the progress with annotations πŸ”±

Overview

CI Status Swift 4.0 Version Carthage compatible License Platform

Description

Displaying the progress in a meter control. ProgressMeter lets you create your custom annotations that display either on top or bottom of meter. So, it's not just an ordinary progress bar, it gives the better visual. πŸ’―

Use Cases

Fitness App πŸƒβ€

Building a pedometer has never been easier. If you are looking for something other than a gauge control, you have come to the right place. Have a look πŸ€“

Banking App 🏦

Talking about financial apps. We all 've come across with such scenarios to show the rewards earned or a cash back. ProgressMeter is here to help with a unique user experience. 🏧

Example

Interface Builder

Guess what? You can do that all in design time without writing a single line of code. Drag & drop a UIView from the object library and follow the steps:

Step 1: Set the Class & Module Identity Inspector > Custom Class

Step 2: Under Attribute Inspector you can change the properties and check everything on the fly πŸš€

  • maxValue: Maximum value of the meter
  • progress: Current progress of meter
  • numberOfDivisions: How many divisions you want to display
  • Rest are pretty much self explanatory

Code πŸ‘¨β€πŸ’»

Hook your view (ProgressMeter) property on your view controller and try out the snippets inside viewDidLoad;

Snippet # 1: Looking for setting up the control with your own data πŸ‘¨β€πŸ«

func setupWithCustomData() {
    progressControl.maxValue = 20000
    progressControl.data = [1999, 4999, 9999, 14999]
    progressControl.progress = 14999 / 20000
}

Snippet # 2: Don't have the data set? ProgressMeter can create its own data πŸ”’

func setupWithControlData() {
    progressControl.maxValue = 20000
    progressControl.numberOfDivisions = 4
    progressControl.progress = 0.4
}

Snippet # 3: Setup the visual aspect πŸ’„

func visualSetup() {
    progressControl.progressTintColor = .purple
    progressControl.trackTintColor = .gray
    progressControl.borderWidth = 1
    progressControl.borderColor = .darkGray
    progressControl.annotationTextColor = .purple
    progressControl.dividerColor = .darkGray
}

Installation

CocoaPods

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

pod 'ProgressMeter'

Carthage

To integrate ProgressMeter into your Xcode project using Carthage, specify the following in your Cartfile:

github "khawajafarooq/ProgressMeter"

Run carthage update to build the framework and drag the built ProgressMeter.framework into your Xcode project.


Requirements

Support Version
iOS 9.0
Swift 4.0

Up Coming Features 🎏

  • Carthage support
  • Display Annotations either on top or bottom

Issues 🚫

  • Some tweakings required to use ProgressMeter inside a Stack View

Author πŸ™πŸ»

Web: Khawaja Farooq

Twitter: @khfarooq

Medium: @khfarooq

License

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

You might also like...
A simple Swift package for measuring and reporting the time taken for operations

Duration A simple Swift package for measuring and reporting the time taken for operations. It is derived from a version for Playgrounds that I blogged

 Progress.swift βŒ› Add beautiful progress bars to your loops.
Progress.swift βŒ› Add beautiful progress bars to your loops.

Progress.swift βŒ› Just wrap the SequenceType in your loop with the Progress SequenceType and you'll automatically get beautiful progress bars. Updating

PBCircularProgressView is a circular progress view for iOS similar to the app store download progress view.
PBCircularProgressView is a circular progress view for iOS similar to the app store download progress view.

Overview PBCircularProgressView is a circular progress view for iOS similar to the app store download progress view. It also ha

MultiPeer-Progress-iOS - Swift project to demo the use of the MultiPeer framework to send files between iOS devices and show the progress
UIView based progress bar that shows a progress based on duration in seconds

DurationProgressBar Create a progress bar based on a duration in seconds. The view is fully customisable. Install Add this repository to your swift pa

Snake Progress shows circular progress for iOS Apps.
Snake Progress shows circular progress for iOS Apps.

SnakeProgress SnakeProgress shows circular progress for iOS Apps. With SnakeProgress With SnakeProgress, you can easily circular progress. @IBOutlet w

RSA public/private key encryption, private key signing and public key verification in Swift using the Swift Package Manager. Works on iOS, macOS, and Linux (work in progress).

BlueRSA Swift cross-platform RSA wrapper library for RSA encryption and signing. Works on supported Apple platforms (using Security framework). Linux

Circular progress indicator for your macOS app
Circular progress indicator for your macOS app

CircularProgress Circular progress indicator for your macOS app This package is used in production by apps like Gifski and HEIC Converter. Requirement

Show progress in your app's Dock icon
Show progress in your app's Dock icon

DockProgress Show progress in your app's Dock icon This package is used in production by the Gifski app. You might also like some of my other apps. Re

πŸ“Š A customizable gradient progress bar (UIProgressView).
πŸ“Š A customizable gradient progress bar (UIProgressView).

GradientProgressBar A customizable gradient progress bar (UIProgressView). Inspired by iOS 7 Progress Bar from Codepen. Example To run the example pro

A custom reusable circular / progress slider control for iOS application.
A custom reusable circular / progress slider control for iOS application.

HGCircularSlider Example To run the example project, clone the repo, and run pod install from the Example directory first. You also may like HGPlaceho

πŸ’ˆ Retro looking progress bar straight from the 90s
πŸ’ˆ Retro looking progress bar straight from the 90s

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 and Activity Indicators for iOS apps
Progress and Activity Indicators for iOS apps

Progress Indicators and Activity Views for iOS Apps Features Storyboard compatible, configure apprearance with the property inspector. fully animated,

Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView.
Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView.

StepProgressView Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. Usage let progr

Customizable download button with progress and transition animations. It is based on Apple's App Store download button.
Customizable download button with progress and transition animations. It is based on Apple's App Store download button.

AHDownloadButton is a customizable download button similar to the download button in the latest version of Apple's App Store app (since iOS 11). It fe

A beautiful and easy-to-use progress HUD for your iOS.
A beautiful and easy-to-use progress HUD for your iOS.

ζ—₯本θͺž KRProgressHUD is a beautiful and easy-to-use progress HUD for your iOS written by Swift. KRActivityIndicatorView is used for loading view. Feature

A simple animated progress bar in Swift
A simple animated progress bar in Swift

DSGradientProgressView Introduction DSGradientProgressView is a simple and customizable animated progress bar written in Swift. Inspired by GradientPr

Simple and powerful animated progress bar with dots

Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements iOS 8.0+ Swift 3.0+ Installatio

RSA public/private key encryption, private key signing and public key verification in Swift using the Swift Package Manager. Works on iOS, macOS, and Linux (work in progress).

BlueRSA Swift cross-platform RSA wrapper library for RSA encryption and signing. Works on supported Apple platforms (using Security framework). Linux

Owner
Khawaja Farooq
iOS developer @mobilepaydev lifelong learnerπŸ‘¨β€πŸ’»wholesome food 🌱wanderlust 🌎
Khawaja Farooq
Show progress in your app's Dock icon

DockProgress Show progress in your app's Dock icon This package is used in production by the Gifski app. You might also like some of my other apps. Re

Sindre Sorhus 958 Jan 2, 2023
πŸ“Š A customizable gradient progress bar (UIProgressView).

GradientProgressBar A customizable gradient progress bar (UIProgressView). Inspired by iOS 7 Progress Bar from Codepen. Example To run the example pro

Felix M. 490 Dec 16, 2022
A custom reusable circular / progress slider control for iOS application.

HGCircularSlider Example To run the example project, clone the repo, and run pod install from the Example directory first. You also may like HGPlaceho

Hamza Ghazouani 2.4k Jan 6, 2023
πŸ’ˆ Retro looking progress bar straight from the 90s

Description Do you miss the 90s? We know you do. Dial-up internet, flickering screens, brightly colored websites and, of course, this annoyingly slow

HyperRedink 18 Nov 24, 2022
Progress and Activity Indicators for iOS apps

Progress Indicators and Activity Views for iOS Apps Features Storyboard compatible, configure apprearance with the property inspector. fully animated,

Alexander Kasimir 101 Nov 13, 2022
Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView.

StepProgressView Step-by-step progress view with labels and shapes. A good replacement for UIActivityIndicatorView and UIProgressView. Usage let progr

Yonat Sharon 340 Dec 16, 2022
Work in progress gallery of controls available to Catalyst apps using Optimized for Mac

Catalyst Controls Gallery Very simple work-in-progress demonstration of many common controls available to Mac Catalyst as of macOS 11. Provided moreso

Steven Troughton-Smith 163 Sep 18, 2022
Snapchat / Instagram Stories like progress indicator

SegmentedProgressBar A simple little control that animates segments like Snapchat or Instagram Stories. Requirements iOS 8.0+ Xcode 8 Installation Dra

Dylan Marriott 442 Dec 25, 2022
A dynamically flowing progress bar.

WWProgressView A dynamically flowing progress bar. δΈ€ε€‹ε‹•ζ…‹ζ΅ε‹•ηš„ι€²εΊ¦ζ’. Installation with Swift Package Manager dependencies: [ .package(url: "https://gith

William-Weng 5 Jan 25, 2022
GitHub Action for Swift with warning/error annotations.

GitHub Action for Swift This action executes Swift and generates github action annotations from swift warnings/errors. Usage An example to executing S

Jaehong Kang 2 Aug 18, 2022