Circular Slider - A flexible and customisable implementation

Annular ProgressView

Preview

Keeping a regular check on the progress of project completion is a bit difficult, but not anymore, We have created our own custom progress view to measure the progress of the individual project on an individual day based on the task completion. That helps us to generate daily reports with specific numbers.

Using Annular progress view now it’s no longer difficult to measure the bang on results!

A powerful Circular Slider which has been written in SwiftUI

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

Requirements

  • iOS 13.0+
  • Xcode 12.5+

Installation

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

To install it, simply add the following line to your Podfile:

pod 'CircularSlider', git: 'https://github.com/PiyushSelarka/CircularSlider.git', branch: 'main'

Usage

Added import CircularSlider

import CircularSlider

Config

Configration for Circular Slider with completion

CircularSlider(config: Config(minimumValue: 0.0,
                              maximumValue: 100,
                              totalValue: 100,
                              knobRadius: 10,
                              radius: 125,TotalProgressView: 20.0,
                              outercircleColor: Color.init(red: 64/255, green: 66/255, blue: 131/255),
                              innercircleColor: RadialGradient(gradient: Gradient(colors: [.white, .gray]), center: .center, startRadius: 50, endRadius: 100),
                              lineColor: Color(UIColor.lightGray),
                              lineWidth: 1.0,
                              tickColor: Color.gray,
                              tickhighlightedColor: Color.white,
                              sliderColor: LinearGradient(gradient: Gradient(colors: [.blue, .white]),startPoint: .topLeading, endPoint: .bottomLeading),
                              startPointCircleColor: RadialGradient(gradient: Gradient(colors: [.white, .blue,]), center: .center, startRadius: 0, endRadius: 7),
                              pointCircleColor: RadialGradient(gradient: Gradient(colors: [.blue, .white]), center: .center, startRadius: 0, endRadius: 7),
                              titleText: "Monday"
                             ),
                             completion: { (value) in
                                  print(value) // Getting slider value 
                             }
)
minimumValue

Minimum Value of the slider or you can say start value for the slider. It will set in CGFloat.init

maximumValue

Maximum value for the slider which is set in CGFloat.init

totalValue

TotalValue will help to measure progress of the circle while moving which should be equal to maximum value

knobRadius

The Radius of the know that how large you want to show

radius

Size or area of Progress view which can be define by radius

outercircleColor

The color of back circle set in Color.init

innercircleColor

The color of inner side circle set in RadialGradient.init

lineColor

The color of line in inner circle set in Color.init

lineWidth

The width of line in inner circle set in CGFloat.init

tickColor

The color of tick in 360 degree circle set in Color.init

tickhighlightedColor

The color of tick highlighted in 360 degree circle set in Color.init

sliderColor

The color of slider set in LinearGradient.init

startPointCircleColor

The slider start circle color set in RadialGradient.init

pointCircleColor

The slider drag circle color set in RadialGradient.init

titleText

set Title text in circle

TotalProgressView

When you want to put a static number to show the progress only then you can pass the number in this property which will help you to show the circular bar based on the value you pass

CallBack

completion: { (value) in
    print(value) // Getting slider value 
}

? Check out other lists of our Mobile UI libraries

? Check out other lists of Web libraries

? Get FREE Industry WhitePapers →

Check out our Work

? License

MI-Circular Slider is MIT-licensed.

If you use our open-source libraries in your project, please make sure to credit us and Give a star to www.mindinventory.com

GitHub

View Github