Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A TweetBot-like notice component for iOS.
Objective-C Ruby

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
NoticeView.xcodeproj
NoticeView
NoticeViewiPad
LICENSE
README.md

README.md

NoticeView

A TweetBot-like notice component for iOS.


Alt text

Usage

  • Drop the WBNoticeView folder in your project
  • Add QuartzCore.framework to your project

NoticeView 1.0 vs 2.0

The behavior in version 1 was "fire and forget". Calling showErrorNoticeInView or showSuccessNoticeInView displayed the notice, but there was no way to retain it for later use. Version 2 allows the developer to instantiate a notice, customize it (optional) and show it. Not only it's possible to retain it, but also customize it anytime with say, a different title and message. Oh, yeah… and it's cleaner too.

Examples

Since version 2 is more flexible, I have eliminated the older examples and replaced them with the new API. Please note that the older API is still there, for backward compatibility.

To display a small error notice:

WBErrorNoticeView *notice = [WBErrorNoticeView errorNoticeInView:self.view title:@"Network Error" message:@"Check your network connection."];
[notice show];

If the message provided doesn't fit in one line, the notice will be enlarged to accommodate the text:

WBErrorNoticeView *notice = [WBErrorNoticeView errorNoticeInView:self.view title:@"Network Error" message:@"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."];
[notice show];

To display a small success notice:

WBSuccessNoticeView *notice = [WBSuccessNoticeView successNoticeInView:self.view title:@"Link Saved Successfully"];
[notice show];

Customizing the Notice

Instead of piling up a bunch of arguments in a method call, I decided to use properties instead. This way, new properties can be added easily without having to clutter the API with specialized methods.

Example: customize a success notice with a bit of transparency and placing the notice at a specific Y coordinate:

WBSuccessNoticeView *notice = [WBSuccessNoticeView successNoticeInView:self.view title:@"Link Saved Successfully"];

notice.alpha = 0.8;
notice.originY = self.headerView.frame.size.height;

[notice show];

Notes

If you pass nil instead of a valid UIView, an NSInvalidArgumentException exception will be raised.

The default values are the following:

    if (nil == title) title = @"Unknown Error";
    if (nil == message) message = @"Information not provided.";
    if (0.0 == duration) duration = 0.5;
    if (0.0 == delay) delay = 2.0;
    if (0.0 == alpha) alpha = 1.0;
    if (origin < 0.0) origin = 0.0;

Contribute

I'd love to include your contributions. Feel free to improve it, send comments or suggestions. If you have improvements please send me a pull request.

Contact Me

You can ping me on Twitter — @titusmagnus.

Something went wrong with that request. Please try again.