A Swift UIView subclass for displaying circular progress indicators with UIProgressView-like properties.
RPCircularProgress is a Swift-based UIView subclass that displays circular progress indicators in iOS applications. It solves the need for customizable, animated circular progress views with features similar to UIProgressView, supporting both determinate and indeterminate progress styles.
iOS developers building apps that require visual progress feedback, such as during downloads, uploads, or loading sequences, and who prefer a circular design over linear progress bars.
Developers choose RPCircularProgress for its easy integration, extensive customization options, and modern Swift API, serving as a maintained alternative to older Objective-C libraries like DACircularProgress.
(Swift) Circular progress UIView subclass with UIProgressView properties
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The library is written entirely in Swift with clean, documented functions like enableIndeterminate and updateProgress, making it easy for Swift developers to integrate and maintain.
Offers numerous @IBInspectable properties such as trackTintColor, thicknessRatio, and roundedCorners, allowing detailed visual adjustments without code, as highlighted in the README.
Supports combining indeterminate spinning with determinate progress in a single view, providing flexibility for complex loading states as described in the key features.
Most properties are @IBInspectable, enabling visual setup in storyboards, which simplifies design and prototyping for developers using Interface Builder.
The project includes badges for coverage and build status, indicating a commitment to quality and reliability, with an example app for reference.
As a UIView subclass, it doesn't natively support SwiftUI, requiring additional wrappers for use in modern SwiftUI-based projects, which is a limitation for contemporary iOS development.
The author admits to not using Interface Builder personally, so there might be untested issues or inconsistencies when setting properties visually, as noted in the README.
While broad compatibility is a plus, it may not leverage newer iOS APIs or optimizations, such as Swift Concurrency or improved animation frameworks, available in recent versions.
As a port of DACircularProgress, it inherits an older architectural approach, which might not align with modern design patterns like reactive programming or Combine integration.