explaingit

ninjaprox/nvactivityindicatorview

10,712SwiftAudience · developerComplexity · 2/5LicenseSetup · easy

TLDR

A Swift library for iOS offering 32 animated loading indicator styles, from pulsing balls to ripple effects, that you can drop into any app with a few lines of code.

Mindmap

mindmap
  root((nvactivityindicatorview))
    What it does
      Loading animations
      iOS Swift library
    Styles
      32 animation types
      Pulsing balls
      Ripple effects
      Orbit and zigzag
    Usage
      Interface Builder
      Code init
      startAnimating
      stopAnimating
    Install
      CocoaPods
      Carthage
      Swift Package Manager
    SwiftUI
      LoaderUI companion
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Replace the default iOS spinner with a custom animation style that matches your app visual design.

USE CASE 2

Show a loading indicator in SwiftUI using the companion LoaderUI project with the same animation styles.

USE CASE 3

Add a pulsing or orbiting animation to signal background data fetching in a UIKit-based iOS app.

Tech stack

SwiftCocoaPodsCarthageSwift Package Manager

Getting it running

Difficulty · easy Time to first run · 5min
Free to use for any purpose including commercial apps, with no restrictions beyond keeping the copyright notice.

In plain English

NVActivityIndicatorView is a Swift library for iOS that provides a collection of animated loading indicators. When an app is waiting for something, such as fetching data from a server, it typically shows a spinning or pulsing animation to signal that work is happening. This library offers 32 different animation styles so developers can choose one that fits their app's design, rather than using the default system spinner. The animation types range from pulsing balls and rotating squares to zigzag patterns, ripple effects, and a pacman-style animation. Each has a name like ballPulse, lineScale, orbit, or circleStrokeSpin. You pick one when you create the indicator view. Adding the library to an iOS project is done through the standard dependency managers: CocoaPods, Carthage, or Swift Package Manager. For a SwiftUI-based app, the README points to a separate companion project called LoaderUI that uses the same animations. Usage is straightforward. You either set a UIView's class to NVActivityIndicatorView in Interface Builder (the visual layout editor in Xcode), or you create one in code by passing a frame, animation type, color, and padding. You then call startAnimating() when you want the animation to appear and stopAnimating() when it should disappear. All visual properties are public and can be adjusted, but must be set before calling startAnimating. The project is MIT-licensed and was inspired by a CSS animation library called Loaders.css. Full API documentation is available at nvactivityindicatorview.vinhis.me.

Copy-paste prompts

Prompt 1
Show me Swift code to add an NVActivityIndicatorView loading spinner to a UIKit view controller that starts when data is loading and stops when done.
Prompt 2
I am building a SwiftUI iOS app and want to show an animated loading indicator. How do I use the LoaderUI companion package for NVActivityIndicatorView?
Prompt 3
How do I install NVActivityIndicatorView with Swift Package Manager and set a custom color and size?
Prompt 4
Which of the 32 NVActivityIndicatorView animation types work best for a minimal, clean app design?
Open on GitHub → Explain another repo

← ninjaprox on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.