ActivityIndicatorView
  • October 3, 2023
A number of preset loading indicators created with SwiftUI

Usage


Create an indicator like this:

ActivityIndicatorView(isVisible: $showLoadingIndicator, type: .default)

where
showLoadingIndicator – bool value you may change to display or hide the indicator
type – value from ActivityIndicatorView.IndicatorType enum

You may alter it with standard SwiftUI means like this:

ActivityIndicatorView(isVisible: $showLoadingIndicator, type: .default)
.frame(width: 50.0, height: 50.0)
.foregroundColor(.red)

Or specify another indicator type:

ActivityIndicatorView(isVisible: $showLoadingIndicator, type: .growingArc(.red, lineWidth: 4))
.frame(width: 50.0, height: 50.0)

Indicator types

Each indicator type has a number of parameters that have reasonable defaults. You can change them as you see fit, but it is advised to not set them too high or too low.

default – iOS UIActivityIndicator style

.default(count: 8)

arcs

.arcs(count: 3, lineWidth: 2)

rotatingDots

.rotatingDots(count: 5)

flickeringDots

.flickeringDots(count: 8)

scalingDots

.scalingDots(count: 3, inset: 2)

opacityDots

.opacityDots(count: 3, inset: 4)

equalizer

.equalizer(count: 5)

growingArc – add custom color for growing Arc, the default value is Color.black

.growingArc(.red, lineWidth: 4))

growingCircle no parameters
gradient – circle with angular gradient border stroke, pass colors ilke this:

.gradient([.white, .red], lineWidth: 4)

Examples


To try out the ActivityIndicatorView examples:

  • Clone the repo git clone git@github.com:exyte/ActivityIndicatorView.git
  • Open terminal and run cd <ActivityIndicatorViewRepo>/Example
  • Run pod install to install all dependencies
  • Run xed . to open project in the Xcode
  • Try it!

Installation


Swift Package Manager

dependencies: [
.package(url: “https://github.com/exyte/ActivityIndicatorView.git”)
]

CocoaPods

pod ‘ActivityIndicatorView’

Carthage

github “Exyte/ActivityIndicatorView”

Requirements


  • iOS 13+ / watchOS 6+ / tvOS 13+ / macOS 10.15+
  • Xcode 11+

Our other open source SwiftUI libraries


PopupView – Toasts and popups library
Grid – The most powerful Grid container
ScalingHeaderScrollView – A scroll view with a sticky header which shrinks as you scroll
AnimatedTabBar – A tabbar with number of preset animations
MediaPicker – Customizable media picker
Chat – Chat UI framework with fully customizable message cells, input view, and a built-in media picker
ConcentricOnboarding – Animated onboarding flow
FloatingButton – Floating button menu
ProgressIndicatorView – A number of animated progress indicators
SVGView – SVG parser
LiquidSwipe – Liquid navigation animation

GitHub


View Github

#swiftui #swiftuicomponents
YOU MIGHT ALSO LIKE...
ConfettiView

A SwiftUI View that emits confetti with user-defined shapes, images, and text.

SwiftUI Colour Wheel

A colour wheel made all in SwiftUI. There are 2 different colour wheels to choose from. The first main one ...

ColorPickerRing

A color picker implementation with color wheel appearance written in plain SwiftUI. It is compatible with UIColor and NSColor.

ASCollectionView

This repository is no longer maintained. Here's why: with the release of iOS 16 SwiftUI now enables most of the ...