All Projects → HarshilShah → Activityrings

HarshilShah / Activityrings

Licence: mit
An attempt to recreate the ring controls in Apple’s Activity app

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Activityrings

Spine
Unofficial Spine runtime Swift library, allows you to play animations created in the Spine app (http://esotericsoftware.com).
Stars: ✭ 125 (+42.05%)
Mutual labels:  tvos, watchos, spritekit
Xcconfigs
Collection of common Xcode configuration files. 🛠
Stars: ✭ 28 (-68.18%)
Mutual labels:  tvos, watchos
Life
Conway's Game of Life written in Swift 👾
Stars: ✭ 21 (-76.14%)
Mutual labels:  tvos, watchos
Articles
Articles for NSHipster.com
Stars: ✭ 1,166 (+1225%)
Mutual labels:  tvos, watchos
Procedurekit
Advanced Operations in Swift
Stars: ✭ 863 (+880.68%)
Mutual labels:  tvos, watchos
Swiftui Grid
🚀 SwiftUI Grid layout with custom styles
Stars: ✭ 872 (+890.91%)
Mutual labels:  tvos, watchos
Host.swift
*Host.swift is no longer maintained*, please use Hostess.swift: https://github.com/rjstelling/Hostess.swift. A Swift implementation of NSHost that works on iOS, OS X and tvOS. Host.swift is safe to use in a framework because it does not require a bridging header.
Stars: ✭ 83 (-5.68%)
Mutual labels:  tvos, watchos
Apprepositorytemplate
The easiest way to start a new application project without any manual configuration
Stars: ✭ 24 (-72.73%)
Mutual labels:  tvos, watchos
Sqlitelib
Easily build a custom SQLite static library for use in macOS and iOS frameworks and apps.
Stars: ✭ 38 (-56.82%)
Mutual labels:  tvos, watchos
Fugen
Command line tool for exporting resources and generating code from your Figma files
Stars: ✭ 41 (-53.41%)
Mutual labels:  tvos, watchos
Swiftlinkpreview
It makes a preview from an URL, grabbing all the information such as title, relevant texts and images.
Stars: ✭ 1,216 (+1281.82%)
Mutual labels:  tvos, watchos
Ios Cmake
A CMake toolchain file for iOS, macOS, watchOS & tvOS C/C++/Obj-C++ development
Stars: ✭ 844 (+859.09%)
Mutual labels:  tvos, watchos
Sdwebimageswiftui
SwiftUI Image loading and Animation framework powered by SDWebImage
Stars: ✭ 844 (+859.09%)
Mutual labels:  tvos, watchos
Waterfallgrid
A waterfall grid layout view for SwiftUI.
Stars: ✭ 1,086 (+1134.09%)
Mutual labels:  tvos, watchos
Difference
Simple way to identify what is different between 2 instances of any type. Must have for TDD.
Stars: ✭ 837 (+851.14%)
Mutual labels:  tvos, watchos
Queuer
Queuer is a queue manager, built on top of OperationQueue and Dispatch (aka GCD).
Stars: ✭ 964 (+995.45%)
Mutual labels:  tvos, watchos
Mothership
iTunes Connect Library inspired by FastLane
Stars: ✭ 72 (-18.18%)
Mutual labels:  tvos, watchos
Swiftyrsa
RSA public/private key encryption in Swift
Stars: ✭ 894 (+915.91%)
Mutual labels:  tvos, watchos
Ratelimit
Simple utility for only executing code every so often.
Stars: ✭ 918 (+943.18%)
Mutual labels:  tvos, watchos
Lift
Lift is a Swift library for generating and extracting values into and out of JSON-like data structures.
Stars: ✭ 33 (-62.5%)
Mutual labels:  tvos, watchos

ActivityRings

Version Package Managers Platforms License Contact

ActivityRings is an attempt to recreate the ring controls in Apple’s Activity app.

This project is a SpriteKit port of Max Konovalov’s pure UIKit implementation, MKRingProgressView.

Demo

Requirements

  • Swift 4.2
  • iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 4.0+

Installation

ActivityRings is available via CocoaPods and Carthage.

CocoaPods

To install ActivityRings using CocoaPods, add the following line to your Podfile:

pod 'ActivityRings'

Carthage

To install ActivityRings using Carthage, add the following line to your Cartfile:

github "HarshilShah/ActivityRings"

Usage

Basics

To get started, import ActivityRings. To display the control, use the ActivityRingView class on iOS, macOS, and tvOS, and the ActivityRingScene class on watchOS.

Customisation

The ringWidth, the startColor, the endColor, and the backgroundRingColor can all be customised.

Progress

The progress of the ring can be set with or without animation.

To set the progress without animation, simply update the value of the progress variable.

To animate the progress, use the animateProgress method, which accepts two arguments:

  • The desired final progress value
  • The animation duration

Notes

Some notes on performance:

  • Since this control was written in SpriteKit, it relies heavily on the GPU, and so will not perform well or accurately in the simulator.
  • The initial setup process is somewhat expensive, so animating the progress directly after presenting the view can cause some hiccups. This is being worked on, but in the meantime, delaying the animation by a second or so works around the issue.

Apps Using ActivityRings

Feel free to submit a PR if you’re using this library in your apps.

Author

Written by Harshil Shah. You can find me on Twitter.

The original UIKit implementation was written by Max Konovalov.

License

ActivityRings is available under the MIT license. See the LICENSE.md file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].