Skip to content

Simple but powerful and modern progress HUD for iOS.

License

Notifications You must be signed in to change notification settings

guoxj/JGProgressHUD

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JGProgressHUD

Simple but powerful and modern progress HUD for iOS.

       

#####Current Version: 1.0.4

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
• Detects and repositions when Keyboards appear/disappear
• 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!

To dim the content behind the HUD set your dim color as backgroundColor of your JGProgressHUD instance.

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.

Note: You should preferably show the HUD in a UIViewController's view.

See the JGProgressHUD Tests project for more example implementations.

Installation

CocoaPods:
Add this to your Podfile:

pod 'JGProgressHUD'

OR:

As static library:
Ideally you should use JGProgressHUD as a static library:
Drag the JGProgressHUD.xcodeproj file into your Xcode project. Next add JGProgressHUD as Target Dependency in your project's Build Phases. Then add libJGProgressHUD.a in "Link Binary With Libraries". 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.

OR:

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.

About

Simple but powerful and modern progress HUD for iOS.

Resources

License

Stars

Watchers

Forks

Packages

No packages published