Home

Awesome

RPCircularProgress

Coverage Status Build Status MIT licensed CocoaPods Swift

⚠️ To use with Swift 2.3 please ensure you are using == 0.2.3 ⚠️

⚠️ To use with Swift 3.x please ensure you are using >= 0.3.0 ⚠️

⚠️ To use with Swift 4.x please ensure you are using >= 0.4.0 ⚠️

⚠️ To use with Swift 4.2 please ensure you are using >= 0.4.1 ⚠️

⚠️ To use with Swift 5.0 please ensure you are using >= 0.5.0 ⚠️

UIView subclass written in Swift to show circular progress.

Example Usage

Is your app using it? Let me know!

Please see the included example app for sample usage.

Styles

Public API

/**
 Enables or disables the indeterminate (spinning) animation

 - parameter enabled:    Whether or not to enable the animation (defaults to `true`)
 - parameter completion: An optional closure to execute after the animation completes
 */
open func enableIndeterminate(_ enabled: Bool = true, completion: CompletionBlock? = nil) {}
/**
 Updates the progress bar to the given value with the optional properties

 - parameter progress:     The progress to update to, pinned between `0` and `1`
 - parameter animated:     Whether or not the update should be animated (defaults to `true`)
 - parameter initialDelay: Sets an initial delay before the animation begins
 - parameter duration:     Sets the overal duration that the animation should complete within
 - parameter completion:   An optional closure to execute after the animation completes
 */
open func updateProgress(_ progress: CGFloat, animated: Bool = true, initialDelay: CFTimeInterval = 0, duration: CFTimeInterval? = nil, completion: CompletionBlock? = nil) {}

Properties

Note: Most properties below are @IBInspectable, but I don't use Interface Builder personally so let me know if you see any issues.

var trackTintColor: UIColor

var progressTintColor: UIColor

var innerTintColor: UIColor?

var roundedCorners: Bool

var thicknessRatio: CGFloat

var clockwiseProgress: Bool

var timingFunction: CAMediaTimingFunction

var progress: CGFloat

var indeterminateProgress: CGFloat

var indeterminateDuration: CFTimeInterval

Supports

Swift, ARC & iOS 8+, Autolayout or springs and struts

A little help from my friends

Please feel free to fork and create a pull request for bug fixes or improvements, being sure to maintain the general coding style, adding tests, and adding comments as necessary.

Credit

This library is effectively a Swift port of DACircularProgress with some minor changes to the API, so it should be fairly easy to act as a replacement. I really loved that library but unfortunately it wasn't being maintained.