/NVActivityIndicatorView

Collection of nice loading animations

Primary LanguageSwiftMIT LicenseMIT

NVActivityIndicatorView

Cocoapods Compatible Carthage Compatible

Introduction

NVActivityIndicatorView is a collection of nice loading animations.

This is original a fork from DGActivityIndicatorView, inspired by Loaders.css, written in Swift with full implementation of animations.

You can also find Objective-C version of this here.

Demo

alt tag

For first-hand experience, just open the project and run it.

Animation types

  1. BallPulse
  2. BallGridPulse
  3. BallClipRotate
  4. SquareSpin
  5. BallClipRotatePulse
  6. BallClipRotateMultiple
  7. BallPulseRise
  8. BallRotate
  9. CubeTransition
  10. BallZigZag
  11. BallZigZagDeflect
  12. BallTrianglePath
  13. BallScale
  14. LineScale
  15. LineScaleParty
  16. BallScaleMultiple
  17. BallPulseSync
  18. BallBeat
  19. LineScalePulseOut
  20. LineScalePulseOutRapid
  21. BallScaleRipple
  22. BallScaleRippleMultiple
  23. BallSpinFadeLoader
  24. LineSpinFadeLoader
  25. TriangleSkewSpin
  26. Pacman
  27. BallGridBeat
  28. SemiCircleSpin
  29. BallRotateChase
  30. Orbit
  31. AudioEqualizer

Installation

Cocoapods

Install Cocoapods if need be

$ gem install cocoapods

Add NVActivityIndicatorView in your Podfile

use_frameworks!

pod 'NVActivityIndicatorView'

Then, run the following command

$ pod install

Carthage

Install Carthage if need be

$ brew update
$ brew install carthage

Add NVActivityIndicatorView in your Cartfile

github "ninjaprox/NVActivityIndicatorView"

Run carthage to build the framework and drag the built NVActivityIndicatorView.framework into your Xcode project.

Manual

Copy NVActivityIndicatorView folder to your project. That's it.

Usage

Firstly, import NVActivityIndicatorView

import NVActivityIndicatorView

Initialization

Then, there are multiple ways you can create NVActivityIndicatorView:

  • Use it in storyboard by changing class of any UIView to NVActivityIndicatorView This will use default values white, .BallSpinFadeLoader, 0 for color, type and padding respectively.

  • Create with specified type, color and padding

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

Any of the last three arguments can be omitted. If an argument is omitted it will use the default values which are white, .BallSpinFadeLoader, 0 for color, type and padding respectively. Therefore, you can also create NVActivityIndicatorView using any of the following:

  • Specify only frame, type and color
NVActivityIndicatorView(frame: frame, type: type, color: color)
  • Specify only frame, type and padding
NVActivityIndicatorView(frame: frame, type: type, padding: padding)
  • Specify only frame, color and padding
NVActivityIndicatorView(frame: frame, color: color, padding: padding)
  • Specify only frame and type
NVActivityIndicatorView(frame: frame, type: type)
  • Specify only frame and color
NVActivityIndicatorView(frame: frame, color: color)
  • Specify only frame and padding
NVActivityIndicatorView(frame: frame, padding: padding)
  • Specify only frame
NVActivityIndicatorView(frame: frame)

Start/Stop animation

Start animation

activityIndicatorView.startAnimation()

Stop animation

activityIndicatorView.stopAnimation()

UI blocker

You can use NVActivityIndicatorView as UI blocker for UIViewController by conforming NVActivityIndicatorViewable protocol.

class ViewController: UIViewController, NVActivityIndicatorViewable { }

Start animation

startActivityAnimating(size, message) // plus other parameters as when initializing

Stop animation

stopActivityAnimating()

Change properties

If you use NVActivityIndicatorView in storyboard, you can change these properties in Attributes inspector tab of Utilities panel.

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

Specify individual properties after initialization:

  • Specify type
activityIndicatorView.type = .LineScale
  • Specify color
activityIndicatorView.color = UIColor.redColor()

Specify whether activity indicator view should hide once stopped

activityIndicatorView.hidesWhenStopped = true

Get current status of animation

animation = activityIndicatorView.animating

Change defaults

Change global defaults if needed

NVActivityIndicatorView.DEFAULT_TYPE = .Pacman
NVActivityIndicatorView.DEFAULT_COLOR = UIColor.yellowColor()
NVActivityIndicatorView.DEFAULT_PADDING = CGFloat(5.0)
NVActivityIndicatorView.DEFAULT_BLOCKER_SIZE = CGSizeMake(60, 60)

Acknowledgment

Thanks Connor Atherton for great loaders and Danil Gontovnik for kick-start.

License

The MIT License (MIT)

Copyright (c) 2015 Nguyen Vinh @ninjaprox