- August 12, 2025
- Mins Read
Ring progress view similar to Activity app on Apple Watch
To install MKRingProgressView
via CocoaPods, add the following line to your Podfile:
pod ‘MKRingProgressView’
To install MKRingProgressView
via Carthage, add the following line to your Cartfile:
github “maxkonovalov/MKRingProgressView”
Note: Instructions below are for using SwiftPM without the Xcode UI. It’s the easiest to go to your Project Settings -> Swift Packages and add MKRingProgressView from there.
To integrate using Apple’s Swift package manager, without Xcode integration, add the following as a dependency to your Package.swift
:
.package(url: “https://github.com/maxkonovalov/MKRingProgressView.git”, .upToNextMajor(from: “2.3.0”))
See the example Xcode project. It contains 2 targets:
MKRingProgressView
can be set up in Interface Builder. To use it, set the custom view class to MKRingProgressView
. Most of the control’s parameters can be customized in Interface Builder.
let ringProgressView = RingProgressView(frame: CGRect(x: 0, y: 100, width: 100, height: 100))
ringProgressView.startColor = .red
ringProgressView.endColor = .magenta
ringProgressView.ringWidth = 25
ringProgressView.progress = 0.0
view.addSubview(ringProgressView)
The progress
value can be animated the same way you would normally animate any property using UIView
‘s block-based animations:
UIView.animate(withDuration: 0.5) {
ringProgressView.progress = 1.0
}
To achieve better performance the following options are possible:
gradientImageScale
to lower values like 0.5
(defaults to 1.0
)startColor
and endColor
to the same valueshadowOpacity
to 0.0
allowsAntialiasing
to false
Recognize your user's voice elegantly without having to figure out authorization and audio engines. SwiftSpeech Examples Features Installation Getting Started ...
Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements iOS 14.0 Installation ...
SlidingRuler is a Swift package containing a SwiftUI control that acts like an linear infinite slider or a finite, more precise ...
SkeletonUI aims to bring an elegant, declarative syntax to skeleton loading animations. Get rid of loading screens or spinners and ...