您的位置:首页 > 产品设计 > UI/UE

UIToolBar

2015-11-20 16:14 357 查看
可以在toolBar上添加任何View。其实它的原理是把你要添加的View先加到UIBarButtonItem里面,最后再把UIBarButtonItem数组一次性放到toolbar的items里面。

1.首先,我们看一下UIBbarButtonItem有哪些初始化方法,这也可以看出,它可以被定义为什么东东,然后加到UIToolBar上面去。

根据SDK的文档,我们可以发现UIBarButtonItem有如下几种初始化的方法:

-initWithTitle(添加button用这个)

-initWithImage

-initWithBarButtonSystemItem(添加系统自定义的button,形状跟大小都已经固定了)下面链接里面有按钮图片样式
https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIBarButtonItem_Class/Reference/Reference.html
-initWithCustomView(添加除了button以外的View)

第4种方法就是我们添加各种作料的接口,所以今天的主角其它也是它。

2.在UIToolBar上面添加Title

view plaincopy to clipboardprint?

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

view plaincopy to clipboardprint?

[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

view plaincopy to clipboardprint?

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的方法了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: