- Interface builder designable
- Highly customizable and flexible
- Easy to use
- Sleek animations
- Written in Swift
-
GradePoint by Luis Padron.
-
UVI Mate by Alexander Ershov.
-
Install CocoaPods
-
Add this repo to your
Podfiletarget 'Example' do # IMPORTANT: Make sure use_frameworks! is included at the top of the file use_frameworks! pod 'UICircularProgressRing' end
-
Run
pod install -
Open up the
.xcworkspacethat CocoaPods created -
Done!
Important note: Carthage support for IBDesignable and IBInspectable is broken due to how frameworks work. So if you decide on using Carthage, you will not be able to use IB to design this view. Take a look here for the issue.
To use with Carthage
-
Make sure Carthage is installed
brew install carthage -
Add this repo to your Cartfile
github "luispadron/UICircularProgressRing" -
Drag the
UICircularProgressRing.frameworkfromMyProjDir/Carthage/Builds/iOS/UICircularProgressRinginto theGeneral -> Embeded Binariessection of your Xcode project.
- Simply download the
UICircularProgressRingView.swift,UICircularProgressRingLayer.swiftandUICiruclarProgressRingDelegate.swiftfiles from here into your project, make sure you point to your projects target
Simply drag a UIView into your storyboard. Make sure to subclass UICircularProgressRingView and that the module points UICircularProgressRing.
Design your heart out
override func viewDidLoad() {
// Create the view
let progressRing = UICircularProgressRingView(frame: CGRect(x: 0, y: 0, width: 240, height: 240))
// Change any of the properties you'd like
progressRing.maxValue = 50
progressRing.innerRingColor = UIColor.blue
// etc ...
}To set a value and animate the view
// Somewhere not in viewDidLoad (since the views have not set yet, thus cannot be animated)
// Remember to use unowned or weak self if refrencing self to avoid retain cycle
progressRing.setProgress(value: 49, animationDuration: 2.0) {
print("Done animating!")
// Do anything your heart desires...
}Please read this before creating an issue about how to use the package:
Take a look at the example project over here
- Download it
- Open the
Example.xcworkspacein Xcode - Mess around and experiment!
Do you use this library? Want to be featured? Go here.



