All Projects → mac-gallagher → Multiprogressview

mac-gallagher / Multiprogressview

Licence: mit
📊 An animatable view that depicts multiple progresses over time. Modeled after UIProgressView

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Multiprogressview

ProBar
this script will allow you to configure a progress bar with a timer with other options
Stars: ✭ 0 (-100%)
Mutual labels:  progress, progress-bar, progressbar
LineProgressbar
A light weight jquery progressbar plugin
Stars: ✭ 34 (-94.46%)
Mutual labels:  progress, progress-bar, progressbar
GradientProgressView
一个简单的进度条控件
Stars: ✭ 15 (-97.56%)
Mutual labels:  progress-bar, progressbar, progressview
Mkmagneticprogress
A circular progress bar for iOS written in Swift
Stars: ✭ 214 (-65.15%)
Mutual labels:  cocoapods, progress, progressbar
Circleprogressview
🎡 CircleProgressView是一个圆形渐变的进度动画控件(支持外环显示刻度,内环随之变化,配置参数完全可配),动画效果纵享丝滑。
Stars: ✭ 314 (-48.86%)
Mutual labels:  progress, progressbar, progressview
GaugeProgressView
Tired of boring Android progress views? This one is amazing!
Stars: ✭ 17 (-97.23%)
Mutual labels:  progress, progressbar, progressview
angular-progress-bar
This component allow you to easy incorporate progress-bar to angular/ionic project, providing binding and color options
Stars: ✭ 26 (-95.77%)
Mutual labels:  progress, progress-bar, progressbar
Wstagsfield
An iOS text field that represents tags, hashtags, tokens in general.
Stars: ✭ 1,013 (+64.98%)
Mutual labels:  cocoapods, carthage, ui-components
Progressstatusbar
Another way to show progress. A progress View over the system StatusBar.
Stars: ✭ 283 (-53.91%)
Mutual labels:  progress, progressbar, progressview
Progress.swift
⌛️ Add beautiful progress bars to your loops.
Stars: ✭ 265 (-56.84%)
Mutual labels:  cocoapods, carthage, progress-bar
Svprogresshud
A clean and lightweight progress HUD for your iOS and tvOS app.
Stars: ✭ 12,339 (+1909.61%)
Mutual labels:  cocoapods, carthage, progress
Theglowingloader
TheGlowingLoader is the highly configurable library to indicate progress and is natively created for Android Platform. It is an implementation of a design composed by Shashank Sahay.
Stars: ✭ 379 (-38.27%)
Mutual labels:  progress, progressbar, progressview
Apesuperhud
A simple way to display a HUD with a message or progress information in your application.
Stars: ✭ 156 (-74.59%)
Mutual labels:  cocoapods, carthage, progress
react-sweet-progress
A way to quickly add a progress bar to react app 🌈
Stars: ✭ 250 (-59.28%)
Mutual labels:  progress, progress-bar, progressbar
Hover
🎈 The smartest floating button
Stars: ✭ 81 (-86.81%)
Mutual labels:  cocoapods, carthage, ui-components
mp-progress
专注于小程序圆环形进度条的小工具
Stars: ✭ 72 (-88.27%)
Mutual labels:  progress, progress-bar, progressbar
Koyomi
Simple customizable calendar component in Swift 📆
Stars: ✭ 716 (+16.61%)
Mutual labels:  cocoapods, carthage, ui-components
Dockprogress
Show progress in your app's Dock icon
Stars: ✭ 813 (+32.41%)
Mutual labels:  cocoapods, carthage, progress-bar
VHProgressBar
Vartical and Horizontal ProgressBar
Stars: ✭ 23 (-96.25%)
Mutual labels:  progress, progress-bar, progressbar
Tqdm
A Fast, Extensible Progress Bar for Python and CLI
Stars: ✭ 20,632 (+3260.26%)
Mutual labels:  progress, progress-bar, progressbar

Build Status Platform Swift 5 Code Coverage CocoaPods Carthage Swift Package Manager Platform

📊 MultiProgressView is an animatable view that depicts multiple progresses over time. Modeled after UIProgressView.


Examples

To run the example project, clone the repo and run the MultiProgressViewExample target.

Basic Usage

Programmatic

  1. Add a MultiProgressView to your view hierarchy:

    let progressView = MultiProgressView()
    view.addSubview(progressView)
    
  2. Conform your class to the MultiProgressViewDataSource protocol and set your progress view's dataSource:

    func numberOfSections(in progressView: MultiProgressView) -> Int
    func progressView(_ progressView: MultiProgressView, viewForSection section: Int) -> ProgressViewSection
    
    progressView.dataSource = self
    
  3. Call setProgress(section:to:) to update your view's progress:

    progressView.setProgress(section: 0, to: 0.4) //animatable
    

Storyboards

  1. Drag a UIView onto your view controller and set the view's class to MultiProgressView in the Identity Inspector:

    IdentityInspector

  2. Connect your progress view to your view controller with an IBOutlet:

    IBOutlet

  3. Conform your view controller to the MultiProgressViewDataSource protocol and implement the required methods:

     func numberOfSections(in progressView: MultiProgressView) -> Int
     func progressView(_ progressView: MultiProgressView, viewForSection section: Int) -> ProgressViewSection
    
  4. Set your view controller as the progress view's dataSource:

    DataSource

  5. Call setProgress(section:to:) to update your view's progress:

    progressView.setProgress(section: 0, to: 0.4) //animatable
    

Customization

MultiProgressView

Each MultiProgressView exposes the variables listed below. If using storyboards, many of these properties can be customized directly in the view's Attribute Inspector.

var cornerRadius: CGFloat = 0
var borderWidth: CGFloat = 0
var borderColor: UIColor? = .black
var lineCap: LineCapType = .square 

var trackInset: CGFloat = 0
var trackBackgroundColor: UIColor? = .clear
var trackBorderColor: UIColor? = .black
var trackBorderWidth: CGFloat = 0

var trackImageView: UIImageView

var trackTitleLabel: UILabel
var trackTitleEdgeInsets: UIEdgeInsets = .zero
var trackTitleAlignment: AlignmentType = .center

Note: To apply a corner radius (using layer.cornerRadius or the cornerRadius variable) the lineCap type must be set to .round.

ProgressViewSection

Each ProgressViewSection exposes the following variables:

var imageView: UIImageView
var titleLabel: UILabel
var titleEdgeInsets: UIEdgeInsets = .zero
var titleAlignment: AlignmentType = .center

Installation

CocoaPods

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

pod 'MultiProgressView'

Carthage

MultiProgressView is available through Carthage. To install it, simply add the following line to your Cartfile:

github "mac-gallagher/MultiProgressView"

Swift Package Manager

MultiProgressView is available through Swift PM. To install it, simply add the package as a dependency in Package.swift:

dependencies: [
  .package(url: "https://github.com/mac-gallagher/MultiProgressView.git", from: "1.2.0"),
]

Manual

Download and drop the MultiProgressView directory into your project.

Requirements

  • iOS 9.0+
  • Xcode 10.2+
  • Swift 5.0+

Apps Using MultiProgressView

We love to hear about apps that use MultiProgressView - feel free to submit a pull request and share yours here!


Made with ❤️ by Mac Gallagher (Header design by Mazen Ghani)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].