I recently started using ATMHud, a great iOS library to indicate activity and short notifications in an App via HUDs. I want to give you a little overview of how ATMHud can look like and how it is used in your code.
Most of the samples can be found in the DemoViewController, which comes along with the code. However, I think it gives you a better understanding of what it’s like to use ATMHud, if they are highlighted here. Let’s dive right into it:
#import "ATMHud.h"
hud = [[ATMHud alloc] initWithDelegate:self];
[self.view addSubview:hud.view];
[hud setCaption:@"Please wait..."];
[hud setActivity:YES];
[hud show];
This is one of the simplest samples to display a ATMHud in your code. You simply instantiate and add it to the view the HUD is supposed to be displayed on top of. The API to configure the style is as simple as calling a method to set the message and enable an activity. This is how it looks like:

The next sample is a little bit more sophisticated, but shows the power of ATMHud.
#import "ATMHud.h"
hud = [[ATMHud alloc] initWithDelegate:self];
[self.view addSubview:hud.view];
[hud setCaption:@"Successfully saved"];
[hud setImage:[UIImage imageNamed:@"19-check"]];
[hud show];
[hud hideAfter:2.0];
This HUD consist of a message, just like the previous sample. In addition to that, an image is set, which is automatically displayed below the configured message. The really neat thing here is that the HUD is automatically dimissed after two seconds. This way you can display little flash notifications, which can help users to better understand your App. This is what it looks like:

The next sample is a tad bit more complicated, but also a lot more powerful. Imagine you want to let your user know that his task is being processed at the moment. As soon as the work is complete, you want to notifiy him again. In ATMHud you can do just that using ATMHudQueueItems:
#import "ATMHud.h"
#import "ATMHudQueueItem.h"
hud = [[ATMHud alloc] initWithDelegate:self];
[self.view addSubview:hud.view];
ATMHudQueueItem *item = [[ATMHudQueueItem alloc] init];
item.caption = @"Saving...";
item.showActivity = YES;
[hud addQueueItem:item];
[item release];
item = [[ATMHudQueueItem alloc] init];
item.caption = @"Successfully saved";
item.showActivity = NO;
item.image = [UIImage imageNamed:@"19-check"];
[hud addQueueItem:item];
[item release];
[hud startQueue];
// after a while
[hud showNextInQueue];

It’s quite easy to understand how this works and you can see how powerful this concept is. We setup ATMHudQueueItem instances, which can be configured with the same options as a simple ATMHud instance. You can set an image, sound and acitivty indicator. You add those queue items to the ATMHud instance and start it at some point. As soon as the first step of your process is done, you can show the next HUD in the queue.
There’s much more to ATMHud as highlighted here. For example you can add a sound to your HUD, there’s a way to display beautiful progress bars or you can configure the position of the activity indicator. If you need a better way to notify the users of your App, you should really have a look at ATMHud by atomcraft.