• Stars
    star
    251
  • Rank 161,862 (Top 4 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created about 12 years ago
  • Updated about 11 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The information can be shown on a toolbar is more than you can imagine - iOS Toolbar extension library

InformaticToolbar: iOS Toolbar Enhancement Library

Remember in the Mail App, it shows update status and sending mail progress in the bottom toolbar. I think it is a really neat way to show information, especially for those apps who use native iOS UI elements.

However, I couldn't find any lib out there for this task. So I decide to invent the wheel myself.

Feel free to post any issues or patch. It's my pleasure for any who like my work.

What it does

InformaticToolbar is mainly an UIViewController Category which allows you to add several ___UIBarButtonItem___s set to your toolbar.

The sets are defined as subclasses of ITBarItemSet. All ITBarItemSet can have a dismiss button if the target and action has been defined. If more than one set has been added, a switch button (an arrow) will be displayed on the left for user to switch between sets.

For now, there are three pre-defined set:

  • ITLabelBarItemSet: a textLabel and a detailTextLabel
  • ITProgressBarItemSet: a textLabel and a progressBar
  • ITConfirmationBarItemSet: two label and a check-mark button

You can easily create new sets by extending ITBarItemSet yourself.

Screenshot

Screenshot

Install

First of all, Copy / Drag&Drop InformaticToolbar/InformaticToolbar/* into your project.

How to use

Let's say I want to add a Label to my toolbar, I can call the following method in an UIViewController:

- (IBAction)addLabelBarItemSet:(id)sender
{
  ITLabelBarItemSet *labelBarItemSet = [ITLabelBarItemSet labelBarItemSetWithDismissTarget:self andAction:@selector(dismissBarItemSet:)];
  labelBarItemSet.textLabel.text = @"This is text label. ";
  labelBarItemSet.detailTextLabel.text = @"This is detail text label. ";
  [self pushBarItemSet:labelBarItemSet animated:YES];
}

- (void)dismissBarItemSet:(ITBarItemSet *)sender
{
  [self removeBarItemSet:sender animated:YES];
}

To add another kind of ItemSet is similar, please checkout the demo project.

Demo Project

In the project, there is a demo app you can tryout. ITViewController.m includes the sample usage of all three pre-defined item sets.

Credits

License

The MIT License

Copyright (c) 2012-2013 Greg Wang http://gregwym.info/