Swiftpack.co - chenhaiteng/Rings as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
Rings provides some UI with the Ring, Circle or other similar shapes.
.package(url: "https://github.com/chenhaiteng/Rings.git", from: "0.3.1")

Screen Shot 2021-06-15 at 13 01 13

Rings GitHub GitHub release (latest by date)

Rings is a collection of controls which have similar shapes of ring, circle...

It includes following controls, click to see what it looks like:

and following functions are in progress:

  • Swing


Rings is published with Swift Package Manager, you can get more information at Swift Package Manager(GitHub), Package Manager(swift.org), and Swift Packages(Apple)

Install Rings Step by Step

- Add to Xcode(To use this package in your application):

  1. File > Swift Packages > Add Package Dependency...
  2. Choose Project you want to add Rings
  3. Paste repository https://github.com/chenhaiteng/Rings.git
  4. Rules > Version: Up to Next Major 0.1.0 It's can also apply Rules > Branch : main to access latest code. If you want try some experimental features, you can also apply Rules > Branch : develop

Note: It might need to link Rings to your target maunally.

  1. Open Project Editor by tap on root of project navigator
  2. Choose the target you want to use Rings.
  3. Choose Build Phases, and expand Link Binary With Libraries
  4. Tap on + button, and choose Rings to add it.

- Add to SPM package(To use this package in your library/framework):

dependencies: [
    .package(name: "Rings", url: "https://github.com/chenhaiteng/Rings.git", from: "0.1.0")
    // To specify branch, use following statement to instead of.
    // .package(name: "Rings", url: "https://github.com/chenhaiteng/Rings.git", .branch("branch_name"))
targets: [
        name: "MyPackage",
        dependencies: ["Rings"]),


What it looks like


How to use it


What it looks like

ClockIndex Demo Classic


How to use it


What it looks like:


How to use it


What it looks like:


How to use it


What it looks like:

Spheric Text Demo

How to use it


What it looks like:

Knob Demo

How to use it


Rings is released under the MIT License.


Stars: 7
Last commit: 4 weeks ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Submit a free job ad (while I'm testing this). The analytics numbers for this website are here.

Release Notes

4 weeks ago

This release includes following refactor result:

AngularLayer (a.k.a KnobLayer in previous version)

  1. rename
  2. remove addLayer(:), use SequenceBuilder instead of.
    1. SequenceBuilder has limitation of numbers. It allows most 10 layers.
    2. Support for-loop and if-else condition for create layers.
  3. Implement property wrapper Clamping to limit max/min degrees to make code clear.


Import GradientBuilder to make color setup easier. Also add gradient color support on layers.


Add WordsBuilder to provide flexibility on it.


Now, it supports different writing direction.

Other refactors

  1. Reorganize package structure. --> CommonExt --> Common
  2. Re-declare struct which has no property, and might be singleton to enum.
  3. Update and improve documents

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics