Temporary and unobtrusive translucent alert view for iPhone and iPad.
Pull request Compare This branch is 41 commits behind ondalabs:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Temporary and unobtrusive translucent alert view for iPhone and iPad. Here's what it looks like: iPad / iPhone


OLGhostAlertView allows you to present a translucent view with a title and an optional message on the bottom of the screen. Use it to inform your user about temporary issues that do not require any immediate action and are not blocking the flow of your app.

OLGhostAlertView can have a title and an optional message, in a way similar to UIAlertView. It automatically fades out after a configurable time interval and, by default, can be dismissed with a tap. It can automatically adapt its size according to the device it's being deployed on, user interface orientation and length of the strings passed to it.


OLGhostAlertView requires that you include the QuartzCore.framework in your project. Once you have done that, add the OLGhostAlertView files to your project and import the header in the file where you'll be using it, like so:

#import "OLGhostAlertView.h"

After that, here's how you present an OLGhostAlertView:

OLGhostAlertView *ghastly = [[OLGhostAlertView alloc] initWithTitle:@"I am the walrus." message: @"Sitting on a cornflake, waiting for the van to come."];
[ghastly show];

Just like with UIAlertView, the dismissal of the view is handled by the view itself, so there's no need to call anything else.

There are three convenience methods to init OLGhostAlertView:


Exposes all of the available options.

- (id)initWithTitle:(NSString *)title message:(NSString *)message timeout:(NSTimeInterval)timeout dismissible:(BOOL)dismissible;


    The string that appears in the view's title label. It is set in a bold, 17pt font.

    Descriptive text that provides more details than the title. Set in a regular, 15pt font. Can be nil.

    Amount of seconds before the view is automatically dismissed.

    Whether the view can be dismissed with a tap or not.


It's equivalent to initWithTitle:message:timeout:dismissible:, but assumes default values for timeout (6 seconds) and dismissible (YES).

- (id)initWithTitle:(NSString *)title message:(NSString *)message;


It's equivalent to initWithTitle:message:timeout:dismissible:, but assumes default values for message (nil) timeout (4 seconds) and dismissible (YES).

- (id)initWithTitle:(NSString *)title;

You're welcome, lazy people.

Known Issues

Here are some current limitations in OLGhostAlertView:

  • The view should be added as a subview of the key window, but it's not
  • Accounting for keyboard height is only supported on iPad
  • Adding an OLGhostAlertView while displaying a keyboard will cause it to be placed under the keyboard

You can find an up-to-date list with full descriptions and discussion at the Issues page.


Do whatever you want with this. If you like it, great! Let us know on Twitter.

Help us make this better

We built OLGhostAlertView because we needed it for one of our projects. It's definitely not perfect (hell, it was built by a designer) and it doesn't do everything it could. If you improve it in any way, please send us a pull request. Enjoy!