- December 17, 2024
- Mins Read
DSGradientProgressView
is a simple and customizable animated progress bar written in Swift.
Inspired by GradientProgressView.
The gif looks flickery, but the actual animation on device will not be.
Simply drop a UIView
into your View Controller in the Storyboard. Select your view and, in the Identity Inspector
, change the class to DSGradientProgressView.
Don’t forget to change the module to DSGradientProgressView
too.
Size the view according to your needs. (A 3px height looks great in most cases).
Import DSGradientProgressView
in your view controller source file.
import DSGradientProgressView
Create an IBOutlet
of the view in your view controller source file.
@IBOutlet weak var progressView: DSGradientProgressView!
You can change the base color of the progress bar. There are two ways to do this:
barColor
property of the view object in your source file.
progressView.barColor = UIColor.green
DSGradientProgressView
is designed to keep track of the number of requests waiting for completion. Hence the api’s are named after semaphore method names. You call the wait()
method of the DSGradientProgressView
to start animating and signal()
method to stop. It hides and un-hides itself accordingly.
progressView.wait()
// waiting for some resource
progressView.signal()
So, if your View Controller is waiting for more than one network request (or any other resource) and you want the Progress Bar to animate until all the requests are over, you can do that by simply calling wait()
that number of times. Later, call signal()
the same number of times.
progressView.wait()
// waiting for some resource asynchronously
ResourceOne.sharedInstance.fetchData { (data, error) in
self.progressView.signal()
}
progressView.wait()
// waiting for another resource asynchronously
ResourceTwo.sharedInstance.fetchData { (data, error) in
self.progressView.signal()
}
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
CocoaPods 1.1.0+ is required to build DSGradientProgressView 1.0.0+.
To integrate DSGradientProgressView into your Xcode project using CocoaPods, specify it in your Podfile
:
source ‘https://github.com/CocoaPods/Specs.git’
platform :ios, ‘10.0’
use_frameworks!
target ‘<Your Target Name>’ do
pod ‘DSGradientProgressView’
end
Then, run the following command:
$ pod install
Copy the DSGradientProgressView.swift
to your Xcode project. That should do it.
A vertical stackview which takes subviews with different widths and adds them to it's rows with paddings, spacings etc.
AudioManager is a Swift package that provides a modular and easy-to-use interface for implementing audio feedback in your applications. It ...