
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
How to get it
- 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
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
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
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| NVActivityIndicatorView (this) | 10.7k | Library | beginner | 8 months ago | iOS developers who want a ready-made loading indicator with many styles |
| SkeletonView | 12.9k | Library | beginner | 5 months ago | iOS developers building apps that load data from the network |
| Hero | 22.5k | Library | intermediate | 1.8 years ago | iOS developers who want custom screen transitions without writing UIKit animation code by hand |
| Eureka | 11.8k | Library | intermediate | 2.1 years ago | iOS developers building form-heavy screens in Swift |
| SwifterSwift | 15.3k | Library | beginner | 4 days ago | Swift developers building iOS or macOS apps who want common helper methods ready to use |
| SVProgressHUD | 12.4k | Library | beginner | 8 months ago | iOS 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.