iOS Open Source : Heads Up Display with MBProgressHUD

When the iPhone SDK was released, just over 2 years ago, open source projects specifically targeting the iPhone OS were few and far between. Over the past year there has been a significant uptick in iPhone/iOS open source projects, and with that, I’d like to share various projects as I come across them. Should a good Cocoa library cross my radar, one that is applicable to iOS, I’ll pass that on as well.

Heads Up Display – MBProgressHUD

The inaugural iOS open source project is MBProgressHUD, you can find source code here on git: MBProgressHUD

For those unfamiliar with HUD, it refers to Heads Up Display, a view that is overlayed on another view, typically to show an activity indicator and/or offer a means to interact with the UI. A good example of an HUD is when playing a movie with the built in movie player. When you tap the screen, the movie player will show a series of controls on the display. Another common example, and one that is pertinent to MBProgressHUD, is showing progress indicators on top of an existing view. For example, when accessing a remote service, to provide feedback to the user you may opt to display a “Please Wait” message.

MBProgressHUD offers a number of interesting options from a simple activity indicator to a mode switching display that can show multiple messages, in sequence. See the figures below for a few examples:

MBProgressHUD includes a demo project that you compile and run in the simulator to get a feel for how things work.

Open Source Code / Project Recommendations ?

If you have written, worked with or otherwise know of an interesting open source project, one that is focused on iOS or Cocoa, feel free to send me a note. Even a simple class/category that is open source is welcome – for example MBProgressHUD is only two files, an interface (.h) and implementation (.m) . You can reach me here.

  1. Thanks for releasing this project. I’m gonna play around with it and see if I can implement it in my next project!

  2. Great job John! I’ll use it in my nextcoming project!

  3. I’m getting errors when compiling:

    Undefined symbols for architecture i386:
    “_OBJC_CLASS_$_MBProgressHUD”, referenced from:
    objc-class-ref in DetailViewController.o
    ld: symbol(s) not found for architecture i386
    clang: error: linker command failed with exit code 1 (use -v to see invocation)

    Did I miss a step?

  4. You need to add MBProgressHUD.m to the list of files that gets compiled.

    Go to the projects target, select the ‘Build Phases’ tab. Add MBProgressHUD to the list of “Compile Sources”.

    That should help.

Comments are closed.