/JGProgressHUD

Simple but powerful and modern progress HUD for iOS.

Primary LanguageObjective-CMIT LicenseMIT

JGProgressHUD

Simple but powerful and modern progress HUD for iOS.

       

#####Current Version: 1.0.2

Why use JGProgressHUD?

####There already are so many other open source progress HUD components! While other progress HUD components are nice they all have their problems. MBProgressHUD is outdated and buggy, MMProgressHUD is totally over engineered and requires a long time to implement, SVProgressHUD and HTProgressHUD are not implemented in the right way and they all don't offer the extensibility of JGProgressHUD. JGProgressHUD was inspired by all of these components to create the ideal progress indicator.

Here comes JGProgressHUD:
• Super simple to implement
• Feature rich
• Easy extensibility and customization (custom animations and progress indicators)
• Up to date, ex. using a blurred view on iOS 8
• Backwards compatibility to iOS 5
• Well documented
• And most importantly, it looks good!

Overview

###Styles: JGProgressHUD can be displayed in 3 styles:
Extra Light
Light
Dark

###Progress and Status Indicators: By default a HUD will display an indeterminate progress indicator. The progress indicator can be completely removed or a different progress indicator can be assigned to the HUD. By default there are the following indicators built in:
Indeterminate progress indicator
Pie progress indicator
Ring progress indicator

By subclassing JGProgressHUDIndicatorView you can create a custom indicator view!

The JGProgressHUD Tests project contains example implementations for:
Success indicator
Error indicator

###Animations: By default a HUD will use a fade animation. Several parameters can be altered such as animation duration or animation curve. A HUD can be displayed without animation and different animations can be used. By default there are the following animations built in:
Fade
Zoom and Fade

By subclassing JGProgressHUDAnimation you can create a custom animation!

Requirements

• iOS 5 or higher
• ARC

Documentation

Each header file contains detailed documentation for each method call. To start, see JGProgressHUD.h.

Examples

#####Simple example:

JGProgressHUD *HUD = [JGProgressHUD progressHUDWithStyle:JGProgressHUDStyleDark];
HUD.textLabel.text = @"Loading";
[HUD showInView:self.view];
[HUD dismissAfterDelay:3.0];

This displays a dark HUD with a spinner and the title "Loading", it is presented with a fade animation and is dismissed after 3 seconds with a fade animation.

See the JGProgressHUD Tests project for more example implementations.

Installation

CocoaPods:
Add this to your Podfile:

pod 'JGProgressHUD', '1.0.2'

As static library:
Ideally you should use JGProgressHUD as a static library. To do so, drag the JGProgressHUD project file into your Xcode project. Next add JGProgressHUD as Target Dependency in your projects Build Phases. Then add libJGProgressHUD.a in Link Binary With Library. Finally make sure you have set the -ObjC flag in Other Linker Flags.
See the JGProgressHUD Tests project for an example implementation of JGProgressHUD as static library.

Using source files:
Add all files from JGProgressHUD apart from the JGProgressHUD-Prefix.pch file to your project.

After you have included JGProgressHUD as static library or source files simply import JGProgressHUD.h.

License

MIT License.
©2014 Jonas Gessner.

Credits

Created by Jonas Gessner © 2014.
Inspired by HTProgressHUD and other open source progress HUD components.