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 guohui.great@gmail.com)