[iphone开发私房菜_2_] 为UIToolBar工具条添加各种各样的UIBbarButtonItem

 

上一道菜是在导航条上面玩乐,今天给大家奉上一道玩乐工具条的私房菜,道我们这里需要把各种控件或者view封装成UIBbarButtonItem,然后添加到UIToolBar上。OK,Let's Do it.

 

(转载请保留此文字:本文来源:[iphone开发私房菜_2_] 为UIToolBar工具条添加各种各样的UIBbarButtonItem http://blog.csdn.net/ipromiseu/archive/2010/12/16/6080689.aspx] write by Gray.Luo [email protected])

 

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, // iPhoneOS 3.0 UIBarButtonSystemItemRedo, // iPhoneOS 3.0 } 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]; //myLabel.backgroundColor = [UIColor clearColor]; //myLabel.textAlignment=UITextAlignmentCenter; 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的方法了。

 

 

(转载请保留此文字:本文来源:[iphone开发私房菜_2_] 为UIToolBar工具条添加各种各样的UIBbarButtonItem http://blog.csdn.net/ipromiseu/archive/2010/12/16/6080689.aspx] write by Gray.Luo [email protected])

 

 

你可能感兴趣的:(※iphone开发,iphone,工具,action,uiview,button,image)