(转载请保留此文字:本文来源:[iphone开发私房菜_2_] 为UIToolBar工具条添加各种各样的UIBbarButtonItem http://blog.csdn.net/ipromiseu/archive/2010/12/16/6080689.aspx] write by Gray.Luo guohui.great@gmail.com)
 
1.首先,我们看一下UIBbarButtonItem有哪些初始化方法,这也可以看出,它可以被定义为什么东东,然后加到UIToolBar上面去。
根据SDK的文档,我们可以发现UIBbarButtonItem有如下几种初始化的方法:
	-initWithTitle
	-initWithImage
	-initWithBarButtonSystemItem
	-initWithCustomView
 
	第4种方法就是我们添加各种作料的接口,所以今天的主角其它也是它。
 
2.在UIToolBar上面添加Title
 
 
- UIToolbar *myToolBar = [[UIToolbar alloc] initWithFrame:  
-                                                     CGRectMake(0.0f, 0.0f, 320.0f, 44.0f)];  
-                                                       
- NSMutableArray *myToolBarItems = [NSMutableArray array];  
- [myToolBarItems addObject:[[[UIBarButtonItem alloc]  
-                                                         initWithTitle:@"myTile"   
-                                                         style:UIBarButtonItemStylePlain   
-                                                         target:self   
-                                                         action:@selector(action)] autorelease]];  
- [myToolBar setItems:myToolBarItems animated:YES];  
- [myToolBar release];  
- [myToolBarItems];                                                         
 
setItems传入值或者说items是一个对象数组。
 
3.在UIToolBar上面添加image
 
- [myToolBarItems addObject:[[[UIBarButtonItem alloc]  
-                                         initWithImage:[UIImage imageNamed:@"myImage.png"]   
-                                         style:UIBarButtonItemStylePlain   
-                                         target:self   
-                                         action:@selector(action)]];  
 
4.在UIToolBar上面添加SystemItem
- [myToolBarItems addObject:[[[UIBarButtonItem alloc]  
-                                         initWithBarButtonSystemItem:UIBarButtonSystemItemPlay   
-                                         target:self   
-                                         action:@selector(action)] autorelease]];  
 
Note:
initWithBarButtonSystemItem初始化:
- (id)initWithBarButtonSystemItem:(UIBarButtonSystemItem)systemItem target:(id)target action:(SEL)action
Defines system defaults for commonly used items.
- typedef enum {  
-     UIBarButtonSystemItemDone,  
-     UIBarButtonSystemItemCancel,  
-     UIBarButtonSystemItemEdit,  
-     UIBarButtonSystemItemSave,  
-     UIBarButtonSystemItemAdd,  
-     UIBarButtonSystemItemFlexibleSpace,  
-     UIBarButtonSystemItemFixedSpace,  
-     UIBarButtonSystemItemCompose,  
-     UIBarButtonSystemItemReply,  
-     UIBarButtonSystemItemAction,  
-     UIBarButtonSystemItemOrganize,  
-     UIBarButtonSystemItemBookmarks,  
-     UIBarButtonSystemItemSearch,  
-     UIBarButtonSystemItemRefresh,  
-     UIBarButtonSystemItemStop,  
-     UIBarButtonSystemItemCamera,  
-     UIBarButtonSystemItemTrash,  
-     UIBarButtonSystemItemPlay,  
-     UIBarButtonSystemItemPause,  
-     UIBarButtonSystemItemRewind,  
-     UIBarButtonSystemItemFastForward,  
-     UIBarButtonSystemItemUndo,          
-     UIBarButtonSystemItemRedo,          
- } UIBarButtonSystemItem;  
 
 
5.在UIToolBar上面添加其它各种控件,最自由意义,最有意思的,我把它放在最后来讲。我们使用initWithCustomView来完成,
这里需要看一下initWithCustomView的定义:
- (id)initWithCustomView:(UIView *)customView
可以看出,它的参数是一个VIEW,所以我们给它的配料要正确哦才行哦,否则,你就等着时间DIDADIDA的流失吧.
A>加一个开关switch:
- [myToolBarItems addObject:[[[UIBarButtonItem alloc]   
-                                     initWithCustomView:[[[UISwitch alloc] init] autorelease]]  
-                                     autorelease]];  
 
B>加一个按钮UIBarButtonItem
- UIBarButtonItem *myButton = [[[UIBarButtonItem alloc]  
-                                  initWithTitle:@"myButton"  
-                                  style:UIBarButtonItemStyleBordered  
-                                  target:self   
-                                  action:@selector(action)]autorelease];  
- get1Button.width = 50;  
- [myToolBarItems addObject:myButton];      
C>加一个文本Label
- UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(40.0f, 20.0f, 45.0f, 10.0f)];  
- myLabel.font=[UIFont systemFontOfSize:10];  
-   
-   
- UIBarButtonItem *myButtonItem = [[UIBarButtonItem alloc]initWithCustomView:myLabel];  
- [myToolBarItems addObject: myButtonItem];     
- [mylabel release];  
- [myButtonItem release];  
 
 
D>加一个进度条UIProgressView
 
- UIProgressView *myProgress = [[UIProgressView alloc] initWithFrame:CGRectMake(65.0f, 20.0f, 90.0f, 10.0f)];  
- UIBarButtonItem *myButtonItem = [[UIBarButtonItem alloc]initWithCustomView:myProgress];  
- [myToolBarItems addObject: myButtonItem];  
- [myProgress release];                                             
- [myButtonItem release];  
可以加使用initWithCustomView制作各种button,这里就不在这里一个一个在加了。我想你应该也已经掌握了如何添加各种buttonItem的方法了。