CircleSlider is a Circular slider library. written in pure Swift.
Clone or download

README.md

CircleSlider

CI Status Version License Platform

Description and appetize.io`s DEMO

Usage

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

Requirements

  • iOS 8.0+
  • Xcode 8.0

Installation

CocoaPods(iOS 8+)

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

use_frameworks!
pod "CircleSlider"

Manual Installation

The class file required for CircleSlider is located in the Classes folder in the root of this repository as listed below:

CircleSlider.swift
TrackLayer.swift
Math.swift

Usage

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

Simple

self.circleSlider = CircleSlider(frame: self.sliderArea.bounds, options: nil)
self.circleSlider?.addTarget(self, action: Selector("valueChange:"), forControlEvents: .ValueChanged)
self.sliderArea.addSubview(self.circleSlider)

Custom

let options = [
.BarColor(UIColor(red: 198/255, green: 244/255, blue: 23/255, alpha: 0.2)),
.ThumbColor(UIColor(red: 141/255, green: 185/255, blue: 204/255, alpha: 1)),
.TrackingColor(UIColor(red: 78/255, green: 136/255, blue: 185/255, alpha: 1)),
.BarWidth(20),
.StartAngle(-45),
.MaxValue(150),
.MinValue(20)
]
self.circleSlider = CircleSlider(frame: self.sliderArea.bounds, options: options)
self.circleSlider?.addTarget(self, action: Selector("valueChange:"), forControlEvents: .ValueChanged)
self.sliderArea.addSubview(self.circleSlider)

Change options after instantiation

self.circleSlider.changeOptions([.BarWidth(45)])

Customization

  • case StartAngle(Double)
  • case BarColor(UIColor)
  • case TrackingColor(UIColor)
  • case ThumbColor(UIColor)
  • case ThumbImage(UIImage)
  • case BarWidth(CGFloat)
  • case ThumbWidth(CGFloat)
  • case MaxValue(Float)
  • case MinValue(Float)
  • case SliderEnabled(Bool)
    • If you want to use as a progress, it should be this to false
  • case ViewInset(CGFloat)
  • case MinMaxSwitchTreshold(Float)

Author

shushutochako, shushutochako22@gmail.com

License

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