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"
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.0allowsAntialiasing to falseMKRingProgressView is available under the MIT license. See the LICENSE file for more info.