GitHub - ninjaprox/NVActivityIndicatorView: A collection of awesome loading anim...
source link: https://github.com/ninjaprox/NVActivityIndicatorView
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
NVActivityIndicatorView
Introduction
NVActivityIndicatorView
is a collection of awesome loading animations.
This is original a fork from DGActivityIndicatorView, inspired by Loaders.css, written in Swift with full implementation of animations, plus more.
You can also find Objective-C version of this here.
Demo
For first-hand experience, just open the project and run it.
Animation types
Type Type Type Type 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 32. circleStrokeSpinInstallation
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.
Note: You might encounter compile issue, if so please use carthage
branch instead. Check issue #101 for more information.
Manual
Copy NVActivityIndicatorView
folder to your project. That's it.
Note: Make sure that all files in NVActivityIndicatorView
included in Compile Sources in Build Phases.
Note: If you encounter issues while uploading the app to iTunes Connect, remove the Info.plist
file in NVActivityIndicatorView
. Check issue #129 for more information.
Migration
Version 4.0.0
This version requires Xcode 9.0 and Swift 4.
Version 3.7.0
This version splits NVActivityIndicatorView
pod to 2 subpods NVActivityIndicatorView/Presenter
and NVActivityIndicatorView/AppExtension
. There is no need to change pod NVActivityIndicatorView
to pod NVActivityIndicatorView/Presenter
since it will be installed by default if you use the main pod name.
However, if you want to use NVActivityIndicatorView
in app extension, use pod NVActivityIndicatorView/AppExtension
instead.
Note: Related issue #119.
Version 3.6.0
This version requires Xcode 8.3 and Swift 3.1.
Version 3.0
This version requires Xcode 8.0 and Swift 3.
NVActivityIndicatorView.startAnimation()
andNVActivityIndicatorView.stopAnimation()
are deleted. UseNVActivityIndicatorView.startAnimating()
andNVActivityIndicatorView.stopAnimating()
instead.UIViewController.startActivityAnimating()
andUIViewController.stopActivityAnimating()
are deleted. UseUIViewController.startAnimating()
andUIViewController.stopAnimating()
instead.
Version 2.0
This version continues to spport Xcode 7.0 and Swift 2.2 and earlier.
For Swift 2.3 support, use swift2.3
branch instead.
pod 'NVActivityIndicatorView', :git => 'https://github.com/ninjaprox/NVActivityIndicatorView.git', :branch => 'swift2.3'
Usage
Firstly, import NVActivityIndicatorView
.
import NVActivityIndicatorView
Initialization
Then, there are two ways you can create NVActivityIndicatorView:
- By storyboard, changing class of any
UIView
toNVActivityIndicatorView
.
Note: Set Module to NVActivityIndicatorView
.
- By code, using initializer. All parameters other than
frame
are optional andNVActivityIndicatorView.DEFAULT_*
are used as default values.
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()
.
UI blocker
By conforming NVActivityIndicatorViewable
protocol, you can use NVActivityIndicatorView
as UI blocker for UIViewController
.
class ViewController: UIViewController, NVActivityIndicatorViewable { }
Start animating.
startAnimating(size, message) // plus other parameters as in initializer.
Stop animating.
stopAnimating()
Check if it is animating.
animating = isAnimating
Or you can use NVActivityIndicatorPresenter
to display UI blocker anywhere.
Start animating.
let activityData = ActivityData() NVActivityIndicatorPresenter.sharedInstance.startAnimating(activityData)
Note: Check documentation for detail of ActivityData
.
Stop animating.
NVActivityIndicatorPresenter.sharedInstance.stopAnimating()
Change message.
NVActivityIndicatorPresenter.sharedInstance.setMessage("Done")
Check if it is animating.
animating = NVActivityIndicatorPresenter.sharedInstance.isAnimating
Acknowledgment
Thanks Connor Atherton for great loaders and Danil Gontovnik for kick-start.
License
The MIT License (MIT)
Copyright (c) 2016 Vinh Nguyen @ninjaprox
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK