A customizable circular slider control for iOS apps, supporting progress indicators, range selection, and midpoint sliders.
HGCircularSlider is an open-source iOS library that provides customizable circular slider controls for building interactive circular interfaces in apps. It solves the need for visually engaging circular input mechanisms, such as volume knobs, timer dials, or progress indicators, which are not available in standard iOS UI components. The library offers multiple slider types, including range and midpoint sliders, with extensive customization options.
iOS developers building apps that require circular user interfaces, such as media players, alarm clocks, fitness trackers, or any application needing circular sliders for settings or progress display.
Developers choose HGCircularSlider for its ease of integration, high customizability, and support for multiple slider types out of the box. It saves development time compared to building circular sliders from scratch and provides a polished, reusable component that aligns with iOS design standards.
A custom reusable circular / progress slider control for iOS application.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers standard circular, range, and midpoint sliders out of the box, demonstrated in the example code for diverse use cases like timers and progress tracking.
Supports custom thumb images, line widths, and colors, allowing developers to match app design, as shown in the Bedtime and Player examples with personalized icons.
Available via CocoaPods, Carthage, and Swift Package Manager, with clear installation instructions in the README for seamless setup.
Can be configured as a non-interactive circular progress indicator by disabling user interaction and adjusting thumb properties, useful for loading states or task completion displays.
No native SwiftUI support, requiring bridging or wrapper views for modern iOS apps built with SwiftUI, which adds complexity and potential performance overhead.
To use as a progress view, developers must set thumbLineWidth and thumbRadius to 0.0, a workaround mentioned in issue #25 rather than a dedicated API, which can be unintuitive.
Only supports circular sliders; for elliptical or other shaped sliders, developers need to look elsewhere or heavily modify the source code, limiting design flexibility.