How to Make a Toolbar with UIToolbar

numpad

by mattjdrake on November 9, 2009

Toolbars are used to present a set of functions to a user. You will see these at the bottom of iPhone apps and generally give you the option to do things like edit files, send email or take a picture. Here is an example of what a toolbar will look like in an iPhone app:

Yes-Im-Fresh.jpg

Using UIToolbar in Your iPhone Apps

Today, I am going to show you how to use UIToolbar in your iPhone apps. Essentially, what you need to do is to create an instance of UIToolbar, add buttons to it and then add the toolbar to your view. Usually, you will also need to assign actions to each toolbar button as well.

Here is video of how to use UIToolbar taken from my own code library that I ship with my ebook:

Source Code for Using UIToolbar

ebook-001.png

	#import "Toolbar.h"

	@implementation Toolbar
	UILabel *label;
	UIToolbar *toolbar;

	- (void)viewDidLoad {
	    [super viewDidLoad];

		//Create label
		label = [[UILabel alloc] init];
		label.frame = CGRectMake(10, 10, 300, 40);
		label.textAlignment = UITextAlignmentCenter;
		label.text = @"Press Button";
		[self.view addSubview:label];
		[label release];

		//create toolbar using new
		toolbar = [UIToolbar new];
		toolbar.barStyle = UIBarStyleDefault;
		[toolbar sizeToFit];
		toolbar.frame = CGRectMake(0, 410, 320, 50);

		//Add buttons
		UIBarButtonItem *systemItem1 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd
		                                                                             target:self
		                                                                             action:@selector(pressButton1:)];

		UIBarButtonItem *systemItem2 = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction
		                                                                             target:self
		                                                                             action:@selector(pressButton2:)];

		UIBarButtonItem *systemItem3 = [[UIBarButtonItem alloc]
		initWithBarButtonSystemItem:UIBarButtonSystemItemCamera
		target:self action:@selector(pressButton3:)];

		//Use this to put space in between your toolbox buttons
		UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
		target:nil
		action:nil];

		//Add buttons to the array
		NSArray *items = [NSArray arrayWithObjects: systemItem1, flexItem, systemItem2, flexItem, systemItem3, nil];

		//release buttons
		[systemItem1 release];
		[systemItem2 release];
		[systemItem3 release];
		[flexItem release];

		//add array of buttons to toolbar
		[toolbar setItems:items animated:NO];

		[self.view addSubview:toolbar];

	}

	//Action methods for toolbar buttons:
	- (void) pressButton1:(id)sender{
		label.text = @"Add";
	}
	- (void) pressButton2:(id)sender{
		label.text = @"Take Action";
	}
	- (void) pressButton3:(id)sender{
		label.text = @"Camera";
	}
	- (void)dealloc {
		[toolbar release];
		[label release];
	    [super dealloc];
	}

	@end

What Functions Do You Think Fit In Well On a Toolbar?

Discuss in the comments below!

Please share this if you like it!
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • email
  • FriendFeed
  • LinkedIn
  • MySpace
  • Ping.fm
  • StumbleUpon
  • Suggest to Techmeme via Twitter
  • Technorati
  • Tumblr
  • Yahoo! Bookmarks

{ 2 trackbacks }

iPhoneKicks.com
November 10, 2009 at 2:51 pm
Free Collection Of Outstanding UIToolbar Icons | iPhone iOS 4 iPad SDK Development Tutorials, Programming Tips, News
July 20, 2010 at 2:47 am

{ 1 comment… read it below or add one }

1 StormRoBoTNo Gravatar November 14, 2009 at 1:35 pm

Thanks so much :)

Previous post:

Next post: