- May 27, 2025
- Mins Read
⚠️ 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.
Is your app using it? Let me know!
Please see the included example app for sample usage.
/**
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) {}
Note: Most properties below are @IBInspectable
, but I don’t use Interface Builder personally so let me know if you see any issues.
var trackTinColor: UIColor
var progressTintColor: UIColor
var innerTintColor: UIColor?
var roundedCorners: Bool
var thicknessRatio: CGFloat
0.01
and 1
)var clockwiseProgress: Bool
var timingFunction: CAMediaTimingFunction
var progress: CGFloat
var indeterminateProgress: CGFloat
0.05
and 0.9
var indeterminateDuration: CFTimeInterval
Swift, ARC & iOS 8+, Autolayout or springs and struts
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.
Light and scrollable view controller for tvOS to present blocks of text Description TvOSTextViewer is a view controller to present ...
TvOSSlider is an implementation of UISlider for tvOS. Description and usage TvOSSlider palliates missing an implementation of UISlider for tvOS as part ...
TvOSScribble, based on CoreML, mitigates the lack of a physical numpad area in Siri Remote implementing a handwriting gesture recognizer. ...
PIN keyboard for tvOS Description TvOSPinKeyboard is a view controller that allows easily asking for PIN codes in tvOs Requirements ...
📺 A tvOS button which truncates long text with '... More'. The TvOSMoreButton is a simple view which aims to ...