Skip to content

NVActivityIndicatorView

A Swift library of 32 ready-made loading spinner animations for iOS apps.

Stars
10.7k
Forks
1.2k
Licence
MIT
Language
Swift
Last update
8 months ago
Type
Library

What it is

NVActivityIndicatorView is an open-source Swift library that provides a set of loading animations, such as pulsing balls, spinning squares and a pacman-style loader, that iOS developers can drop into an app while content is loading. You can add it in Interface Builder by changing a view's class, or create it in code and choose one of the 32 animation types. It is aimed at developers who want attractive loading indicators without building them from scratch.

  • Show a pulsing or spinning indicator while a screen fetches data from a server
  • Pick one of the 32 animation types by name and set its color and padding
  • Place the indicator in a storyboard by changing a UIView's class to NVActivityIndicatorView

Great for

  • iOS developers who want a ready-made loading indicator with many styles
  • Developers using Swift in UIKit-based apps
  • Teams that already use CocoaPods, Carthage, or Swift Package Manager

Not ideal for

  • Developers building with SwiftUI, since the README points to a separate project, LoaderUI, for SwiftUI support
  • Projects that need a loading indicator for Android or the web, since this is iOS-only
  • Teams that want a fully custom animation and do not need a prebuilt set
Step-by-step guide: how to use NVActivityIndicatorViewInstall, first run, examples, tips and FAQs

How to get it

  1. 1

    Install with a package manager

    You'll need: Xcode · CocoaPods, Carthage, or Swift Package Manager

    CocoaPods: add to Podfile

    pod 'NVActivityIndicatorView'

    Carthage: add to Cartfile

    github "ninjaprox/NVActivityIndicatorView"
  2. 2

    Run it

    • Install the library with CocoaPods, Carthage, or Swift Package Manager.
    • Add import NVActivityIndicatorView at the top of your Swift file.
    • Create an NVActivityIndicatorView with a frame and a type, or set the class in a storyboard.
    • Call startAnimating() to show the indicator and stopAnimating() to hide it.
  3. 3

    Get the most out of it

    • Use the animation type names listed in the README table (for example ballPulse or pacman), which are case-insensitive in storyboards.
    • Set color and padding in the initializer or change them as public properties, but make changes before calling startAnimating().
    • Check the documentation site linked in the README for the full list of default values and class reference.
    • If you use SwiftUI, look at the LoaderUI project linked in the README.

Downloads

Strengths

  • Offers 32 named animation types in one library
  • Supports CocoaPods, Carthage, and Swift Package Manager installation
  • Released under the permissive MIT license

Trade-offs

  • The README is focused on iOS UIKit and points to a separate project for SwiftUI
  • The README does not state a minimum iOS version or Swift version
  • Latest release 5.2.0 has no binaries, and the README notes that 5.0.0 included breaking changes

How it compares

ProjectStarsTypeLevelUpdatedBest for
NVActivityIndicatorView (this)10.7kLibrarybeginner8 months agoiOS developers who want a ready-made loading indicator with many styles
SkeletonView12.9kLibrarybeginner5 months agoiOS developers building apps that load data from the network
Hero22.5kLibraryintermediate1.8 years agoiOS developers who want custom screen transitions without writing UIKit animation code by hand
Eureka11.8kLibraryintermediate2.1 years agoiOS developers building form-heavy screens in Swift
SwifterSwift15.3kLibrarybeginner4 days agoSwift developers building iOS or macOS apps who want common helper methods ready to use
SVProgressHUD12.4kLibrarybeginner8 months agoiOS developers who need a quick loading indicator for a blocking task

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.