ninjaprox/NVActivityIndicatorView

A collection of awesome loading animations

Swift

10,701

530 commits

updated Mar 18, 2026

See the code

README

NVActivityIndicatorView

Build Status Cocoapods Compatible Carthage Compatible

⚠️ Check out LoaderUI (ready to use with Swift Package Mananger supported) for SwiftUI implementation of this. 🎉

Introduction

NVActivityIndicatorView is a collection of awesome loading animations.

Demo

Animation types

TypeTypeTypeType
1. ballPulse2. ballGridPulse3. ballClipRotate4. squareSpin
5. ballClipRotatePulse6. ballClipRotateMultiple7. ballPulseRise8. ballRotate
9. cubeTransition10. ballZigZag11. ballZigZagDeflect12. ballTrianglePath
13. ballScale14. lineScale15. lineScaleParty16. ballScaleMultiple
17. ballPulseSync18. ballBeat19. lineScalePulseOut20. lineScalePulseOutRapid
21. ballScaleRipple22. ballScaleRippleMultiple23. ballSpinFadeLoader24. lineSpinFadeLoader
25. triangleSkewSpin26. pacman27. ballGridBeat28. semiCircleSpin
29. ballRotateChase30. orbit31. audioEqualizer32. circleStrokeSpin

Installation

Cocoapods

Cocoapods is a dependency manager for Swift and Objective-C Cocoa projects. To use NVActivityIndicatorView with CocoaPods, add it in your Podfile.

pod 'NVActivityIndicatorView'

Carthage

Carthage is intended to be the simplest way to add frameworks to your Cocoa application. To use NVActivityIndicatorView with Carthage, add it in your Cartfile.

github "ninjaprox/NVActivityIndicatorView"

Swift Package Manager

The Swift Package Manager is a tool for managing the distribution of Swift code. To use NVActivityIndicatorView with Swift Package Manger, add it to dependencies in your Package.swift

dependencies: [
    .package(url: "https://github.com/ninjaprox/NVActivityIndicatorView.git")
]

Migration

Version 5.0.0 comes with breaking changes. Please refer to the release note for details.

Usage

Firstly, import NVActivityIndicatorView.

import NVActivityIndicatorView

Initialization

Then, there are two ways you can create NVActivityIndicatorView:

  • By storyboard, changing class of any UIView to NVActivityIndicatorView.

Note: Set Module to NVActivityIndicatorView.

NVActivityIndicatorView(frame: frame, type: type, color: color, padding: padding)

Control

Start animating.

activityIndicatorView.startAnimating()

Stop animating.

activityIndicatorView.stopAnimating()

Determine if it is animating.

animating = activityIndicatorView.isAnimating

Change properties

In storyboard, you can change all properties in Attributes inspector tab of Utilities panel.

Note: Use one of values (case-insensitive) in Animation types for Type Name.

All properties are public so you can change them after initializing.

Note: All changes must be made before calling startAnimating().

Documentation

https://nvactivityindicatorview.vinhis.me/

Acknowledgment

Thanks Connor Atherton for inspired Loaders.css and Danil Gontovnik for DGActivityIndicatorView.

License

The MIT License (MIT)

Copyright (c) 2016 Vinh Nguyen @ninjaprox

animation
carthage
cocoapods
ios
ios-animation
ios-lib
ios-swift
ios-thirdparty
ios-ui
loader
loaders
loading-animations
swift
swift-library

ninjaprox/NVActivityIndicatorView

A collection of awesome loading animations

Swift

10,701

530 commits

updated Mar 18, 2026

See the code

README

NVActivityIndicatorView

Build Status Cocoapods Compatible Carthage Compatible

⚠️ Check out LoaderUI (ready to use with Swift Package Mananger supported) for SwiftUI implementation of this. 🎉

Introduction

NVActivityIndicatorView is a collection of awesome loading animations.

Demo

Animation types

TypeTypeTypeType
1. ballPulse2. ballGridPulse3. ballClipRotate4. squareSpin
5. ballClipRotatePulse6. ballClipRotateMultiple7. ballPulseRise8. ballRotate
9. cubeTransition10. ballZigZag11. ballZigZagDeflect12. ballTrianglePath
13. ballScale14. lineScale15. lineScaleParty16. ballScaleMultiple
17. ballPulseSync18. ballBeat19. lineScalePulseOut20. lineScalePulseOutRapid
21. ballScaleRipple22. ballScaleRippleMultiple23. ballSpinFadeLoader24. lineSpinFadeLoader
25. triangleSkewSpin26. pacman27. ballGridBeat28. semiCircleSpin
29. ballRotateChase30. orbit31. audioEqualizer32. circleStrokeSpin

Installation

Cocoapods

Cocoapods is a dependency manager for Swift and Objective-C Cocoa projects. To use NVActivityIndicatorView with CocoaPods, add it in your Podfile.

pod 'NVActivityIndicatorView'

Carthage

Carthage is intended to be the simplest way to add frameworks to your Cocoa application. To use NVActivityIndicatorView with Carthage, add it in your Cartfile.

github "ninjaprox/NVActivityIndicatorView"

Swift Package Manager

The Swift Package Manager is a tool for managing the distribution of Swift code. To use NVActivityIndicatorView with Swift Package Manger, add it to dependencies in your Package.swift

dependencies: [
    .package(url: "https://github.com/ninjaprox/NVActivityIndicatorView.git")
]

Migration

Version 5.0.0 comes with breaking changes. Please refer to the release note for details.

Usage

Firstly, import NVActivityIndicatorView.

import NVActivityIndicatorView

Initialization

Then, there are two ways you can create NVActivityIndicatorView:

  • By storyboard, changing class of any UIView to NVActivityIndicatorView.

Note: Set Module to NVActivityIndicatorView.

NVActivityIndicatorView(frame: frame, type: type, color: color, padding: padding)

Control

Start animating.

activityIndicatorView.startAnimating()

Stop animating.

activityIndicatorView.stopAnimating()

Determine if it is animating.

animating = activityIndicatorView.isAnimating

Change properties

In storyboard, you can change all properties in Attributes inspector tab of Utilities panel.

Note: Use one of values (case-insensitive) in Animation types for Type Name.

All properties are public so you can change them after initializing.

Note: All changes must be made before calling startAnimating().

Documentation

https://nvactivityindicatorview.vinhis.me/

Acknowledgment

Thanks Connor Atherton for inspired Loaders.css and Danil Gontovnik for DGActivityIndicatorView.

License

The MIT License (MIT)

Copyright (c) 2016 Vinh Nguyen @ninjaprox

animation
carthage
cocoapods
ios
ios-animation
ios-lib
ios-swift
ios-thirdparty
ios-ui
loader
loaders
loading-animations
swift
swift-library

Project health

Overall

3.2/10

Maintained

0/10

Code review

1/10
OpenSSF Scorecard

Significant stargazers

Antoine van der Lee

3,226 followers · starred Sep 2016

Sergej Jaskiewicz

183 followers · starred Mar 2017

Wooseong Kim

132 followers · starred Sep 2016

Siong

218 followers · starred Sep 2015