- Interface builder designable
- Highly customizable and flexible
- Easy to use
- Fluid and interruptible animations
- Written in Swift
- RTL language support
-
GradePoint by Luis Padron.
-
UVI Mate by Alexander Ershov.
-
HotelTonight by Hotel Tonight Inc.
-
הנתיב המהיר by Elad Hayun
-
Install CocoaPods
-
Add this repo to your
Podfile
target '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
.xcworkspace
that CocoaPods created -
Done!
To use with Carthage
-
Make sure Carthage is installed
brew install carthage
-
Add this repo to your Cartfile
github "luispadron/UICircularProgressRing"
-
Install dependencies
carthage update --platform iOS
Simply drag a UIView
into your storyboard. Make sure to subclass UICircularProgressRing
and that the module points to UICircularProgressRing
.
Design your heart out
override func viewDidLoad() {
// Create the view
let progressRing = UICircularProgressRing(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.startProgress(to: 49, duration: 2.0) {
print("Done animating!")
// Do anything your heart desires...
}
// Pause at any time during a running animation
progressRing.pauseProgress()
// Continue where you left off after a pause
progressRing.continueProgress()
Please read this before creating an issue about how to use the package:
Take a look at the example playground over here
- Download it
- Mess around and experiment!
Do you use this library? Want to be featured? Go here.